调用没有对象的函数或传递值

时间:2015-01-25 18:57:42

标签: java oop user-defined-functions

我想在函数内调用用户定义的函数,而不创建对象或将任何值传递给被调用的函数。有没有可能的方法呢?请考虑以下代码

 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种方法,而是希望通过调用其中一种来完成我的工作。据我所知,可以通过调用另一个函数内的函数来完成。

1 个答案:

答案 0 :(得分:1)

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

//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");
}

这回答了你的问题。如果它对您没有帮助,请重新提出您的问题,以便更清楚您的问题是什么。