Как получить переменную boolean из другого класса

Ght

Пользователь
Сообщения
157
Решения
11
Пишу плагин и решил завезти туда команду включение и отключение функции. Назовём два класса условно CMD и System
В классе с самой командой у меня есть значение boolean status = true
Как мне это значение status получить из класса CMD в класс System?
 
Решение
Здраствуйте, делаете переменную status приватную и статичную:
private static boolean status = true ,
затем создаете геттер: public static boolean getStatus() {
return status;
}

Если геттер и boolean в классе ClassOne, то из другого класса вызываете ClassOne.getStatus(), всё.
Здраствуйте, делаете переменную status приватную и статичную:
private static boolean status = true ,
затем создаете геттер: public static boolean getStatus() {
return status;
}

Если геттер и boolean в классе ClassOne, то из другого класса вызываете ClassOne.getStatus(), всё.
 
Спасибо, запомню этот способ. Но мне подсказали немного другой.

Сделать в CMD статистическую переменную
Код:
public static boolean status = true;

В классе System уже обращаться к этой переменной через класс CMD
Код:
if(ClassSystem.state) {
    ClassSystem.state = false;
  // ...
}
 
не рекомендую делать поля публичными, ибо это вызовит дополнительную нагрузку, лучше использовать приватные и обращаться через геттер по необходимости.
Спасибо, запомню этот способ. Но мне подсказали немного другой.

Сделать в CMD статистическую переменную
Код:
public static boolean status = true;

В классе System уже обращаться к этой переменной через класс CMD
Код:
if(ClassSystem.state) {
    ClassSystem.state = false;
  // ...
}
 
Здраствуйте, делаете переменную status приватную и статичную:
private static boolean status = true ,
затем создаете геттер: public static boolean getStatus() {
return status;
}

Если геттер и boolean в классе ClassOne, то из другого класса вызываете ClassOne.getStatus(), всё.
зачем даешь вредные советы?
 
Будьте осторожны с рекомендациями этого пользователя.
Пишу плагин и решил завезти туда команду включение и отключение функции. Назовём два класса условно CMD и System
В классе с самой командой у меня есть значение boolean status = true
Как мне это значение status получить из класса CMD в класс System?
в классе System используешь экземпляр класса CMD и таким образом получаешь значение поля
Объединено

извени больши ни буду, окей братан делай открытые паля чтобы эта нагружало твой працеесор
как публичные поля могут нагружать процессор? может еще лишние пробелы в коде его нагружают?
 
Будьте осторожны с рекомендациями этого пользователя.
в классе System используешь экземпляр класса CMD и таким образом получаешь значение поля
Объединено


как публичные поля могут нагружать процессор? может еще лишние пробелы в коде его нагружают?
статичные поля всегда находятся в памяти.
 
Господа, вот теперь вы меня запутали. Один говорит что "публичные поля нагружают" другой говорит "Не неси бред, они не дают нагрузку". В любом случае спасибо
 
Не использовать статик, если это не API.
Добро пожаловать в

В главном классе достаточно хранить приватные поля, а при инициализации второстепенных классов передавать эти поля через конструкторы.
Пример такого кода можно посмотреть у меня:
Объединено

Один говорит что "публичные поля нагружают" другой говорит "Не неси бред, они не дают нагрузку"
Они не нагружают. В программировании есть стандарты кода. Использование статика - вещь не очень хорошая.
Представьте, если бы в каких-нибудь Chatty, Essentials, CMI, Spigot всё было бы статичным.

Можете почитать о синглтонах здесь:
 
Последнее редактирование:
Назад
Сверху Снизу