/
GermanezZ
/
JavaExercises
Обзор
Документация
Войти
/
GermanezZ
/
JavaExercises
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
AllMetanitLessons/ClassesAndObjects/Interfaces/MetanitInterfaces/EventsApp.java
62 строки
1 KB
germa
Уроки по Metanit
04 дек 2024, 20:39
04 дек 2024, 20:39
48d575a
Код
Авторство
О чём код?
package AllMetanitLessons.ClassesAndObjects.Interfaces.MetanitInterfaces; public class EventsApp { public static void main(String[] args) { Button button = new Button(new ButtonClickHandler()); button.click(); Button tvButton = new Button(new EventHandler() { private boolean on = false; @Override public void execute() { if (on){ System.out.println("Tv is off"); on = false; }else { System.out.println("Tv is on"); on = true; } } }); Button printButton = new Button(new EventHandler() { @Override public void execute() { System.out.println("Printing in process..."); } }); tvButton.click(); printButton.click(); tvButton.click(); } } interface EventHandler{ void execute(); } class ButtonClickHandler implements EventHandler{ @Override public void execute() { System.out.println("Button pressed!"); } } class Button{ EventHandler handler; Button(EventHandler handler){ this.handler = handler; } public void click() { handler.execute(); } }