관리 메뉴

nalaolla

내부클래스 본문

JAVA/16. Interface

내부클래스

날아올라↗↗ 2016. 6. 29. 15:43
728x90
  1. package test.com;
  2.  
  3. public class Test01Main {
  4.  
  5.     public static void main(String[] args) {
  6.         System.out.println("Inheritance...");
  7.        
  8.        
  9.         Test01AAA ta = new Test01AAA();
  10.         ta = new Test01BBB();
  11.         ta = new Test01CCC();
  12.         ta.aaa();
  13.        
  14.         System.out.println("============================");
  15.        
  16.         Test01BBB tb = new Test01BBB();
  17.         tb = new Test01CCC();
  18.         System.out.println(tb.bbb());
  19.        
  20.         System.out.println("============================");
  21.        
  22.         Test01CCC tc = new Test01CCC();
  23.         tc.aaa();
  24.         tc.bbb();
  25.         for (String x : tc.ccc()) {
  26.             System.out.println(x);
  27.         }
  28.        
  29.         System.out.println("============================");
  30.        
  31.         Test01DDD td = new Test01DDD() {
  32.             //이름없는 내부 클래스 : anonymous inner class 
  33.            
  34.             int x  = 1000;
  35.             @Override
  36.             public void ddd() {
  37.                 // TODO Auto-generated method stub
  38.                 System.out.println("ddd()....111");
  39.                
  40.             }
  41.         };
  42.        
  43.         td.ddd();
  44. //    System.out.println("td.x : " + td.x); //접근불가
  45.        
  46.         td = new Test01EEE();
  47.         td.ddd();
  48.        
  49.         System.out.println("============================");
  50.        
  51.         Test01EEE te = new Test01EEE();
  52.         te.eee();
  53.         System.out.println("te.ddd : " + te.ddd);
  54.     }
  55.  
  56. }




  1. package test.com;
  2.  
  3. public class Test01AAA {
  4.     int age = 33;
  5.     String name = "daniel,kim";
  6.    
  7.     public void aaa() {
  8.         System.out.println("age/name : " + age + "/" + name);
  9.     }
  10. }





  1. package test.com;
  2.  
  3. public class Test01BBB extends Test01AAA {
  4.     int kor = 100;
  5.     String subject = "국어";
  6.    
  7.     public String bbb() {
  8.         System.out.println("bbb()...");
  9.         aaa();
  10.         return kor + subject;
  11.     }
  12. }




  1. package test.com;
  2.  
  3. public class Test01CCC extends Test01BBB {
  4.     String title = "제목";
  5.     String content = "내용";
  6.    
  7.     public String[] ccc() {
  8.        
  9.         return new String[]{title, content};
  10.     }
  11. }



  1. package test.com;
  2.  
  3. public abstract class Test01DDD {
  4.    
  5.     String ddd = "java";
  6.    
  7.     public abstract void ddd();
  8.    
  9. }




  1. package test.com;
  2.  
  3. public class Test01EEE extends Test01DDD {
  4.  
  5.     @Override
  6.     public void ddd() {
  7.         // TODO Auto-generated method stub
  8.         System.out.println("ddd()....222");
  9.     }
  10.    
  11.     public void eee() {
  12.         System.out.println("eee()....eee");
  13.     }
  14.  
  15. }


728x90