Этот пример показывает, как методы могут менять состояние объекта и возвращать его.
У меня есть класс LightBulb с методами turnOn() и turnOff(), которые меняют состояние лампочки и возвращают его.
class LightBulb {
boolean isOn;
public boolean turnOn() {
return isOn = true;
}
public boolean turnOff() {
return isOn = false;
}
public boolean getIsOn() {
return isOn;
}
}Класс LightBulbMain (создание объекта и вызов методов)
public class LightBulbMain {
public static void main(String[] args) {
LightBulb bul = new LightBulb();
bul.turnOn();
bul.turnOff();
System.out.println(bul.getIsOn());
}
}Вывод в консоли
false
- Метод может менять состояние объекта и возвращать его
return isOn = true— сначала присваиваемtrue, потом возвращаем это значениеgetIsOn()— просто возвращает текущее состояние поля
| Метод | Что делает | Возвращает |
|---|---|---|
turnOn() |
Устанавливает isOn = true |
true |
turnOff() |
Устанавливает isOn = false |
false |
getIsOn() |
Возвращает текущее состояние | true или false |
return isOn = true— это сокращённая запись. Можно написать и так:
public boolean turnOn() {
isOn = true;
return isOn;
}Оба варианта работают одинаково
getIsOn()— это геттер (метод для получения значения поля)- Геттеры обычно начинаются с
get + имя поля(с большой буквы)
Попробуй изменить последовательность
LightBulb bul = new LightBulb();
bul.turnOn(); // включили
System.out.println(bul.getIsOn()); // true
bul.turnOff(); // выключили
System.out.println(bul.getIsOn()); // falseПроверь, что возвращают методы включения/выключения
System.out.println("Включили: " + bul.turnOn()); // Включили: true
System.out.println("Выключили: " + bul.turnOff()); // Выключили: false⭐ Теперь я умею включать и выключать лампочку! А ещё — возвращать значения из методов и создавать геттеры.