539
技術社區[雲棲]
Java麵向對象高級--匿名內部類
1、匿名內部類的定義
內部類:在一個類中,還有另外一個類稱為內部類。
匿名內部類:如果一個類在整個操作中隻使用一次的話,就可以將其定義為匿名內部類。匿名內部類實在抽象類和接口的基礎上發展起來的。
interface A{
public void printInfo() ; //定義接口
}
class B implements A{ // 實現接口
public void printInfo(){
System.out.println("Hello World!!!") ;
}
};
class X {
public void fun1(){
this.fun2(new B()) ;
}
public void fun2(A a){
a.printInfo() ;
}
};
public class NoInnerClassDemo01{
public static void main(String args[]){
new X().fun1() ; // 實例化X類的對象,並調用fun1()方法
}
};
如果:此時B類隻使用一次的話,就沒有必要為其單獨定義一個類。此時可以使用匿名內部類。
interface A{
public void printInfo() ; //
}
class X {
public void fun1(){
this.fun2(new A(){
public void printInfo(){
System.out.println("Hello World!!!") ;
}
}
) ;
}
public void fun2(A a){
a.printInfo() ;
}
};
public class NoInnerClassDemo02{
public static void main(String args[]){
new X().fun1() ; // 實例化X類的對象,並調用fun1()方法
}
};
2、總結
1、在Java開發中經常使用到各種開發框架,在框架上會大量的引用匿名內部類。
2、匿名內部類是在抽象類和接口的基礎上發展起來的。
最後更新:2017-04-03 14:53:37