Передача состояния переменной между классами Java - PullRequest
0 голосов
/ 09 марта 2020

У меня есть два класса в пакете, и я хочу знать, как я могу передать булево состояние от одного класса к другому. В основном в классе 1 пользователь имеет возможность либо загрузить файл, либо запустить приложение без загрузки файла. Если они загружают файл, мне нужен класс 2, чтобы проверить, является ли логическое значение в классе 1 истинным. Я запутался, потому что, насколько я понимаю, экземпляр класса 1 не создается до тех пор, пока не будет вызван метод класса * clickButton () . Поэтому я подумал, что если я создам экземпляр класса после вызова clickButton, то получу обновленный логический оператор. Но это не работает ... Я всегда ошибаюсь. Ниже приведен упрощенный вид моих классов:

КЛАСС 1:

public class Class1 {

public boolean isLoaded = false;

public void loadFile(){

if (fileLoaded == true){
isLoaded = true;
}

}

public boolean checkIfLoaded(){
return isLoaded;
} 

КЛАСС 2:

public class Class2 {

public void clickButton(ActionEvent e){

Class1 instance = new Class1();
system.out.println(instance.checkIfLoaded());

}
}

Есть ли хороший способ сообщить о булевых изменениях между два класса после компиляции?

1 Ответ

0 голосов
/ 09 марта 2020

Создание нового класса не сохранит значение переменной. Есть несколько способов решить эту проблему: 1) Передать ClassA конструктору ClassB

public Class2 (Class1 class1) {}

, но я думаю, что это не очень удобно.

2) Вы также можете объявить checkIfLoaded и isLoaded stati c и просто выполните ClassA.checkIfLoaded ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...