簡體   English   中英

如何在java中的不同類文件中運行方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM