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
?
答案 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();
您需要实例化您的类才能访问非静态成员。
答案 5 :(得分:0)
这取决于你的需要。
如果你想让它在类级别绑定,那么只需将其设置为静态并从当前代码中的this.inputCourseCode()中删除“this”即可。
如果您希望它成为每个对象的一部分,那么您需要创建DialogBox的对象并显式调用它,如下所示: DialogBox dialogBox = new DialogBox(); dialogBox.inputCourseCode();