java內部類,為什麼需要內部類?
為什麼需要內部類? 解決了多繼承的問題,繼承具體或抽象類。
一般來說,內部類繼承自某個類或實現某個介面,內部類的程式碼操作建立它的外圍類的物件。所以可以認為內部類提供了某種進入其外圍類的視窗。
內部類最吸引人的原因是:每個內部類都能獨立地
繼承自一個(介面的)實現,所以無論外圍類是否已經繼承了某個(介面的)實現,對於內部類都沒有影響。
如果沒有內部類提供的、可以繼承多個具體的或抽象的類的能力,一些設計與程式設計問題就很難解決。從這個角度看,內部類使得多重繼承的解決方案變得完整。介面解決了部分問題,而內部類有效的實現了“多重繼承”。也就是說,內部類允許繼承多個非介面型別。
考慮這樣一種情形:如果必須在一個類中以某種方式實現兩個介面。由於介面的靈活性,你有兩種選擇:使用單一類或者使用內部類。但如果擁有的是抽象的類或具體的類,而不是介面,那就只能使用內部類才能實現多重繼承。
使用內部類,還可以獲得其他一些特性:
- 內部類可以有多個例項,每個例項都有自己的狀態資訊,並且與其外圍類物件的資訊相互獨立。
- 在單個外圍類中,可以讓多個內部類以不同的方式實現同一個介面或繼承同一個類。
- 建立內部類物件的時刻並不依賴於外圍類物件的建立。
- 內部類並沒有令人迷惑的is-a關係,它就是一個獨立的實體。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31557905/viewspace-2218194/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 內部類是什麼?匿名內部類又是什麼?
- java內部類,區域性內部類,靜態內部類,匿名內部類Java
- 10-Java內部類——成員內部類、區域性內部類、匿名內部類Java
- Java內部類詳解--匿名內部類Java
- Java內部類詳解-- 成員內部類Java
- Java 內部類Java
- Java內部類Java
- java培訓教程:什麼是匿名內部類?怎樣建立匿名內部類?Java
- Java內部類詳解--區域性內部類Java
- Java基礎內部類4-內部類進階Java
- 10、Java——內部類Java
- 內部類與靜態內部類
- Java類與匿名內部類Java
- Java中的匿名內部類及內部類的二三事Java
- 內部類
- Java-InnerClass內部類Java
- java中的內部類Java
- Java 內部類詳解Java
- 淺談java內部類Java
- Java內部類詳解Java
- Java 的抽象類, 介面以及內部類Java抽象
- Java 內部類使用詳解Java
- Java 內部類與閉包Java
- 匿名內部類
- 內部類與外部類
- Java基礎-內部類詳解Java
- Java中內部類的騷操作Java
- Java內部類你真的會嗎?Java
- 淺談Java中的內部類Java
- java匿名內部類:“ 儂好,世界”Java
- 匿名內部類理解
- 內部類解說
- 泛型,內部類泛型
- 內部類,Object,字串Object字串
- Java和ABAP裡的外部類和內部類Java
- 重拾java基礎之內部類Java
- ?你不知道的Java內部類Java
- JAVA基礎之介面與內部類Java