ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 210818_익명내부클래스
    JAVA 2021. 8. 18. 12:06

    (예제)

    //클래스 선언과 객체생성을 동시에 하는 이름없는 클래스(일회용)

    //이벤트 발생시 생성했다가 끝나면 메모리에서 제거됨(메모리 관리 효율적)

    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

    댓글

Designed by Tistory.