Как запустить метод в другом файле класса в java - PullRequest
1 голос
/ 01 апреля 2020

Итак, у меня есть два файла: журнал успеваемости, в котором хранятся мои основные и некоторые другие методы, и затем FSCstudent, в котором есть мой ученический класс, и некоторые другие вещи. Я хочу получить целочисленное значение из получателя.

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

Итак, это моя попытка получить значение int из этого:

public int getNumStudents() {
    return numStudents;
}

Однако я просто продолжаю получать ошибку nonstati c, метод getNumStudents () не может ссылаться из состояния c контекста

Ответы [ 2 ]

1 голос
/ 01 апреля 2020

Да, так как @GauravMall заявил, что вы можете ссылаться на функцию статически, добавив модификатор stati c в метод. Другим вариантом может быть создание экземпляра FSCStudent и вызов метода нестати c.

Stati c Версия:

Вы также должны будете сделать члена numStudents stati c, используя модификатор stati c.

private static int numStudents;

public static int getNumStudents() {
    return numStudents;
}

Non-Stati c Версия:

FSCStudent student = new FSCStudent();

int students = student.getNumStudents();
1 голос
/ 01 апреля 2020

Вам просто нужно сделать это:

public static int getNumStudents() {
    return numStudents;
}

Будьте осторожны, потому что вам также нужно установить numStudents на stati c. Например:

private static int numStudents;

Причина, по которой ваша основная функция - это функция stati c, а функция stati c не может получить доступ к методам non-stati c. Если вы не знаете, что такое метод stati c, прочитайте это: Stati c функция в Java.

Edit: As @Jason также указал, что если вы пытаетесь создать список этого класса FSCstudent, вам сначала нужно создать объект. Код (напрямую от Джейсона):

FSCStudent student = new FSCStudent();

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