1. 程式人生 > >類的高階特性編碼實現

類的高階特性編碼實現

//靜態內部類,可用於方便測試 /* public class StaticInnerClass{     int x=100;     static class Inner{         void doitInner(){     }     public static void main(String args[]){         System.out.println("a");     }     } } */ //匿名內部類 /* interface OutInterface {      } class OuterClass{     public OutInterface doit(){         return new OutInterface() {             private int i=0;             public int getValue(){                 return i;             }         };     } } */ //this 指代的是當前物件 /* public class TheSameName{     private int x;     private class Inner{         private int x=9;         public void doit(int x){             x++;             this.x++;             TheSameName.this.x++;         }     } */ //通過內部類可以對類的私有成員方法進行操作 /*   public class OutClass {       public static void main(String args[]){         OutClass outClass = new OutClass();         OutClass.innerClass inner = outClass.doit();         System.out.println(inner.y);         OutClass.innerClass inner1=outClass.new innerClass();         System.out.println(inner1.y=9);     }     innerClass inner = new  innerClass();     public void out(){         inner.inf();     }     class innerClass{         public innerClass() {         }         public void inf(){                      }         int y=0;     }     public  innerClass doit() {         inner.y=4;         return inner;     } } */ //內部類向上轉型為介面 /* interface OutInterface{     public void f(); } public class InerfaceInner{     public static void main(String args[]){         OuterClass2 out    = new OuterClass2();         OutInterface outinter = out.doit();         outinter.f();     } } class OuterClass2{     private class InnerClass implements OutInterface{         InnerClass(String s){            System.out.println(s);         }

        @Override         public void f() {             // TODO Auto-generated method stub             System.out.println("訪問內部類中的f()方法");         }     }     public OutInterface doit(){         return new InnerClass("訪問內部類方法");     } } */