[英]How to run a method in a different class file in java
所以我有兩個文件,gradebook 存儲我的主要方法和其他一些方法,然后 FSCstudent 存儲我的學生課程和其他一些東西。 我想從 getter 中獲取一個整數值。
public static void searchByID(int idSearch) {
numStudents = FSCstudent.getNumStudents();
}
所以這是我試圖從中獲取 int 值的嘗試:
public int getNumStudents() {
return numStudents;
}
但是,我只是不斷收到錯誤非靜態方法 getNumStudents() 無法從靜態上下文中引用
你只需要這樣做:
public static int getNumStudents() {
return numStudents;
}
不過要小心,因為您也需要將numStudents
設置為靜態。 像這樣:
private static int numStudents;
原因是您的 main 函數是一個靜態函數,而靜態函數不能訪問非靜態方法。 如果您不知道什么是靜態方法,請閱讀以下內容: Java 中的靜態函數。
編輯:正如@Jason 還指出的,如果您嘗試創建該FSCstudent
類的列表, FSCstudent
需要先創建一個對象。 代碼(直接來自 Jason):
FSCStudent student = new FSCStudent();
int students = student.getNumStudents();
是的,就像@GauravMall 所說的那樣,您可以通過向方法添加靜態修飾符來靜態引用該函數。 另一種選擇是創建FSCStudent
的實例並以非靜態方式調用該方法。
靜態版本:
您還必須使用 static 修飾符將成員numStudents
靜態。
private static int numStudents;
public static int getNumStudents() {
return numStudents;
}
非靜態版本:
FSCStudent student = new FSCStudent();
int students = student.getNumStudents();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.