Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?...
生活随笔
收集整理的這篇文章主要介紹了
Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://blog.csdn.net/fhm727/article/details/5220003
1、什么是匿名內部類?
????? 內部類,存在于另一個類內部的類,而匿名內部類,顧名思義,就是沒有名字的內部類。
?
2、為什么需要匿名內部類?
如果少了inner class所提供的“繼承自多個具象(concrete)或抽象(abstract)類”的能力,設計上和編程上的某些問題會變得十分棘手。
所以,從某個角度來看inner class,你可以說它是多重繼承問題的完整解決方案。interface能夠解決其中一部分問題,但inner classes
才能有效而實際地允許“多重實現繼承(multiple implementation)”。也就是說,inner classes實際上允許你繼承多個non-interface。
從這個層面上使用內部類時一般都是通過其父類或繼承的接口來進行實例化和初始化的,如3中所示,這時內部類的名字(a)是多余的,所以就使用了匿名內部類
3、怎么實現匿名內部類?
匿名內部類的實現非常簡單,如有一接口Interface A{public void method(); }
這時你可以寫一個如下的語句得到接口A的實現類的對象
A a=new A(){ public void method(){System.out.println("hehe");} };
而其中的{ public void method(){System.out.println("hehe");} };就是定義了一個匿名內部類
4、問題答案以上可以看出匿名內部類在實現時必須借助一個類或一個接口,若從這個層次上講它是可以繼承其他類也可以實現接口的,但若是通過extends或implements關鍵字那是不可能的。
總結
以上是生活随笔為你收集整理的Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到牛群是什么意思
- 下一篇: 梦到亲人掉粪坑里什么预兆