public interface ClickListener {
void onClick();
}
public class Button {
private ClickListener listener;
public void setClickListener(ClickListener listener) {
this.listener = listener;
}
public void click() {
if (listener != null) {
listener.onClick();
}
}
}
public class HappyMessage implements ClickListener {
@Override
public void onClick() {
System.out.println("Happy Java class!");
}
}
public class UseInterface {
public static void main(String[] args) {
Button button = new Button();
HappyMessage message = new HappyMessage();
button.setClickListener(message);
button.click();
}
}