2011-09-02 109 views
1
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; 
    } 
} 

如何在主函数中调用方法inputCourseCode在java中调用方法

回答

1

您需要有一个DialogBox实例才能调用inputCourseCode方法。

例如:

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

main是一个静态方法;因此,它无法访问'this'参考。

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

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

inputCourseCode是DialogBox类的一个方法,您需要引用该类的一个实例来调用它。 如果需要调用该函数没有istance类需要声明为静态:

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

然后你就可以从主调用它没有创建一个对象:

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

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

这是一个实例方法,所以你需要的DialogBox实例调用该方法。

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

它需要静态

public static String inputCourseCode() 

然后内主要您删除此。

0

那它取决于你的需要。

  1. 如果你希望它在类级别被束缚,那么就让它静止,并删除“这”从this.inputCourseCode()在当前的代码,它会工作。

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