Интерфейс обратного вызова
Почему в конструкторе Button мы вводим новую переменную action интерфейса, вместо того, чтоб просто писать Button (EventHandler handler) ? Встречаю много где.
public class EventsApp {
public static void main(String[] args) {
Button button = new Button(new ButtonClickHandler());
button.click();
button.click();
button.click();
}
}
class ButtonClickHandler implements EventHandler{
public void execute(){
System.out.println("Кнопка нажата!");
}
}
interface EventHandler{
void execute();
}
class Button{
EventHandler handler;
Button(EventHandler action){
this.handler=action;
}
public void click(){
handler.execute();
}
}