在java中调用方法

时间:2011-09-02 15:23:39

标签: java

public class DialogBox {
    public static void main (String arg[]) {
        String inputCourseCode;
        inputCourseCode = this.inputCourseCode();
    }
    public String inputCourseCode() {
        String input = JOptionPane.showInputDialog("Input the course code of this course:");
        return input;
    }
}

如何在main函数中调用方法inputCourseCode

6 个答案:

答案 0 :(得分:1)

您需要拥有DialogBox的实例才能调用inputCourseCode方法。

例如:

public static void main (String arg[]) 
{
    String inputCourseCode;
    DialogBox box = new DialogBox();
    inputCourseCode = box.inputCourseCode();
}

main是一种静态方法;因此,它无法访问“this”引用。

答案 1 :(得分:1)

 public static void main (String arg[]) {
        String inputCourseCode;

        DialogBox d = new DialogBox();  //create instance 
        d.inputCourseCode();  //call method
    }

inputCourseCode是DialogBox类的一种方法,您需要引用该类的实例来调用它。 如果你需要在没有istance类的情况下调用该函数,则需要将其声明为static:

 public static String inputCourseCode() {
        String input = JOptionPane.showInputDialog("Input the course code of this course:");
        return input;
    }

然后你可以从main调用它而不创建一个对象:

public static void main (String arg[]) {
            String inputCourseCode;

            DialogBox.inputCourseCode();  //call  static method
}

答案 2 :(得分:1)

这是一个实例方法,因此您需要一个DialogBox实例来调用该方法。

public static void main (String arg[]) {
    DialogBox foo = new DialogBox();
    String inputCourseCode = foo.inputCourseCode();
}

答案 3 :(得分:1)

它必须是静态的

public static String inputCourseCode()

然后在Main中删除它。

答案 4 :(得分:0)

new DialogBox().inputCourseCode();

您需要实例化您的类才能访问非静态成员。

请参阅Java Tutorial: Understanding Instance and Class Members

答案 5 :(得分:0)

这取决于你的需要。

  1. 如果你想让它在类级别绑定,那么只需将其设置为静态并从当前代码中的this.inputCourseCode()中删除“this”即可。

  2. 如果您希望它成为每个对象的一部分,那么您需要创建DialogBox的对象并显式调用它,如下所示: DialogBox dialogBox = new DialogBox(); dialogBox.inputCourseCode();