A sentimental robot

익명클래스, anonymous class 본문

Java

익명클래스, anonymous class

GOD03219 2018. 1. 4. 15:38

class Test {

 interface Banana {
  void f1();
 }

}

public class Day {
 public static void main(String[] args) {
  
  Test.Banana ban=new Test.Banana() {
   
   @Override
   public void f1() {
    System.out.println("Im anonymous 1, name ban");
    
   }
  };
  
  new Test.Banana() {
   
   @Override
   public void f1() {
    System.out.println("Im anonymous but my method f1() is going to be disposed.");
    
   }
  }.f1();  // f1()이 바로 호출되고 버려지는 일회용 익명클래스
  
  ban=new Test.Banana() {
   
   @Override
   public void f1() {
    System.out.println("Im anonymous but modified.");
    
   }
  };    
  
  ban.f1();
 }
}

 

 



abstract class Test {

 protected String a;

 Test(String a) {
  this.a = a;
  System.out.println("Test 생성자");
 }

 abstract void te(String string);

}

class Out {
 public void tet(Test obj) {
  
  obj.te("jo");     // 오버라이딩 된 te 실행!!
  System.out.println("debug2");
 }

}

public class Day {
 public static void main(String[] args) {
  Out out = new Out();

  out.tet(new Test("eunbi") {

   @Override
   public void te(String str) {
    
    System.out.println(str+a);
   }
  });

 }
}

 

'Java' 카테고리의 다른 글

CRUD, LinkedList  (0) 2018.01.08
상속관계를 통한 다형성과 업캐스팅  (0) 2018.01.05
중첩 인터페이스  (0) 2018.01.04
Generic  (0) 2017.12.29
도서관리프로그램  (0) 2017.12.29