在没有对象或传递值的情况下调用函数

calling functions without objects or passing values

我想在函数内部调用用户定义的函数,而不创建对象或将任何值传递给被调用函数。有什么办法可以做到吗?考虑以下代码

 import java.io.*;
 public class sorting
{
int number[]=new int[5];
void input()throws IOException
{
    BufferedReader in=new BufferedReader(new InputStreamReader(System.in));

    System.out.println("Enter 5 numbers");
    for(int i=0;i<5;i++)
    {
        number[i]=Integer.parseInt(in.readLine());
    }
}

void sort()
{
    int no;
    for(int i=0;i<5-1;i++)
    {
        for(int j=i+1;j<5;j++)
        {
            if(number[j]<number[i])
            {
                no=number[i];
                number[i]=number[j];
                number[j]=no;
            }
        }
    }
}

void display()
{
    for(int i=0;i<5;i++)
    {
        System.out.print(number[i]+"\t");
    }
}

public static void main()throws IOException
{
    BufferedReader in=new BufferedReader(new InputStreamReader(System.in));

    sorting o1=new sorting();

    o1.input();
    o1.sort();
    o1.display();
}

}

这是顺序排序的代码。在 void main 中,我创建了一个对象 o1 并调用了方法。但是我不想调用 3 种方法,而是希望只调用其中一种方法来完成我的工作。据我所知,可以通过在另一个函数中调用一个函数来完成。

是的,这是可能的。下面的代码是满足您条件的示例:

//static -> no object creation
public static void a() {
    b(); //call function inside a function
}

//static -> no object creation
//no arguments -> you do not pass any value to your function
public static void b() {
    System.out.println("output something");
}

这回答了你的问题。如果对您没有帮助,请重新表述您的问题,以便更清楚地说明您的问题是什么。