익명 중첩클래스는 익명 클래스라고 보통 말하며, 내부 클래스이기도 하다.
// 추상클래스 Action
public abstract class Action{
public abstract void exec(); // 아무 내용이 없는 추상메소드
}
// 추상클래스 Action을 상속받은 클래스 MyAction
public class MyAction extends Action{
public void exec(){
System.out.println("exec"); // 추상메소드 구현
}
}
// MyAction을 사용하는 클래스 ActionExam
public class ActionExam{
public static void main(String[] args){
Action action = new MyAction(); // 추상클래스가 상속받은 클래스 객체 참조
action.exec();
}
}
// MyAction을 사용하지 않고 Action을 상속받는 익명 클래스를 만들어서 사용하도록 수정
public class ActionExam{
public static void main(String[] args){
Action action = new Action(){ // 추상클래스가 추상클래스 객체 참조
public void exec(){
System.out.println("exec");
}
};
action.exec();
}
}