상세 컨텐츠

본문 제목

익명 클래스의 사용법 정리

Java

by techbard 2015. 8. 18. 14:48

본문

반응형

- 다른 클래스를 상속없이 메쏘드만 재정의해서 사용할 때

public class AnonyClass_Test {


public static void main(String[] args) {


BaseClass bc = new BaseClass() {

@Override

public void display() {

System.out.println("I'm display from anonymous class.");

}

}; /* BaseClass의 생성자를 호출해서 생성자 안에서 display() 메쏘드를 재정의한다. */


bc.display(); /* 재정의한 메쏘드를 사용한다. */

bc.sayhi(); /* 재정의하지 않은 다른 메쏘드를 사용한다.*/

}

}


class BaseClass {

public void display() {

System.out.println("I'm display from BaseClass.");

}


public void sayhi() {

System.out.println("I'm sayhi from BaseClass.");

}


}


- 인터페이스를 매개로 해서 메쏘드만 재정의해서 사용할 때

public class AnonymousClass {


public static void main(String[] args) {

ActionAfterClick a = new ActionAfterClick() {

@Override

public void action() {

System.out.println("I'm action from anonymous class.");

}

};


Button p = new Button();

p.addAction(a);

Button p2 = new Button();

p2.addAction(new ActionAfterClick() {

@Override

public void action() {

System.out.println("I'm action from anonymous class for button p2");

}

});

}


}


interface ActionAfterClick {

void action();

}


class Button {

void addAction(ActionAfterClick a) {

a.action();

}

}


반응형

관련글 더보기

댓글 영역