class Exercise709 {
public static void main(String[] args) {
Frame f = new Frame();
f.addWindowListener(new EventHander());
}
}
class EventHandler extends WindowAdapter {
public void windowClosing(WindowEvent e) {
e.getWindow().setVisible(false);
e.getWindow().dispose();
System.exit(0);
}
}
익명객체의 생성은 추상클래스, 또는 인터페이스의 사용을 전제로 한다.
제시된 코드를 보면 EventHandler 클래스가 WindowAdapter를 상속하고 있는데,
이는 자바 라이브러리에 이미 존재하는 추상클래스이다.
즉 이를 이용해서 별도 클래스 정의 없이 익명클래스로 코드의 구성을 변경할 수 있다.
부모인 추상클래스 WindowAdapter 타입의 객체를 생성하며 EventHandler가 구현할 기능을 정의해준다. -> 익명객체의 생성
class Exercise709 {
public static void main(String[] args) {
Frame f = new Frame();
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
e.getWindow().setVisible(false);
e.getWindow().dispose();
System.exit(0);
}
});
}
}