2011-09-02 108 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();