如何在java中的不同类文件中运行方法



所以我有两个文件,一个是gradebook,它存储我的main和一些其他方法,另一个是FSCstudent,它有我的学生类和一些其他东西。我想从getter中获取一个整数值。

public static void searchByID(int idSearch) {
numStudents = FSCstudent.getNumStudents();
}

因此,这是我试图从中获取int值的尝试

public int getNumStudents() {
return numStudents;
}

然而,我只是不断得到错误非静态方法getNumStudents((不能从静态上下文中引用

是的,就像@GauravMall所说的,你可以通过在方法中添加静态修饰符来静态引用函数。另一种选择是创建FSCStudent的实例并以非静态方式调用该方法。

静态版本:

您还必须使用static修饰符使成员numStudents为static。

private static int numStudents;
public static int getNumStudents() {
return numStudents;
}

非静态版本:

FSCStudent student = new FSCStudent();
int students = student.getNumStudents();

您只需要这样做:

public static int getNumStudents() {
return numStudents;
}

但是要小心,因为您还需要将numStudents设置为static。像这样:

private static int numStudents;

原因是您的主函数是一个静态函数,而静态函数不能访问非静态方法。如果您不知道什么是静态方法,请阅读以下内容:Java中的静态函数。

编辑:正如@Jason所指出的,如果您试图创建该FSCstudent类的列表,则需要首先创建一个对象。代码(直接来自Jason(:

FSCStudent student = new FSCStudent();
int students = student.getNumStudents();

最新更新