(예제)
//클래스 선언과 객체생성을 동시에 하는 이름없는 클래스(일회용)
//이벤트 발생시 생성했다가 끝나면 메모리에서 제거됨(메모리 관리 효율적)
abstract class AbstEx{ //추상메서드
abstract public void show();
}
class OuterEx{ //외부클래스
//익명내부클래스
AbstEx ab=new AbstEx() {
@Override
public void show() {
System.out.println("익명내부클래스");
}
};
}
public class AnonyInnerEx05 {
public static void main(String[] args) {
OuterEx ex=new OuterEx();
ex.ab.show(); //외부클래스참조변수명.익명내부참조변수명.메서드명
}
}
//결과
익명내부클래스
~~~~~~~~~~~~~~~~~~~
(예제)
abstract class AbstEx1{
abstract public void writeA();
abstract public void writeB();
}
class Abst{
//익명내부클래스
AbstEx1 abstEx1=new AbstEx1() {
@Override
public void writeB() {
System.out.println("B 출력");
}
@Override
public void writeA() {
System.out.println("A 출력");
}
};
}
public class AnonyInnerEx06 {
public static void main(String[] args) {
Abst ab=new Abst();
ab.abstEx1.writeA();
ab.abstEx1.writeB();
}
}
//결과
A 출력
B 출력
'JAVA' 카테고리의 다른 글
210818_Exception (0) | 2021.08.18 |
---|---|
210818_익명내부클래스+상속 (0) | 2021.08.18 |
210818_내부클래스 (0) | 2021.08.18 |
210817_스캐너+다향성+switch (0) | 2021.08.17 |
210817_Abstract+배열 (0) | 2021.08.17 |