您好,登錄后才能下訂單哦!
為什么需要內部類? 解決了多繼承的問題,繼承具體或抽象類。
一般來說,內部類繼承自某個類或實現某個接口,內部類的代碼操作創建它的外圍類的對象。所以可以認為內部類提供了某種進入其外圍類的窗口。
內部類最吸引人的原因是:每個內部類都能獨立地
繼承自一個(接口的)實現,所以無論外圍類是否已經繼承了某個(接口的)實現,對于內部類都沒有影響。
如果沒有內部類提供的、可以繼承多個具體的或抽象的類的能力,一些設計與編程問題就很難解決。從這個角度看,內部類使得多重繼承的解決方案變得完整。接口解決了部分問題,而內部類有效的實現了“多重繼承”。也就是說,內部類允許繼承多個非接口類型。
考慮這樣一種情形:如果必須在一個類中以某種方式實現兩個接口。由于接口的靈活性,你有兩種選擇:使用單一類或者使用內部類。但如果擁有的是抽象的類或具體的類,而不是接口,那就只能使用內部類才能實現多重繼承。
使用內部類,還可以獲得其他一些特性:
- 內部類可以有多個實例,每個實例都有自己的狀態信息,并且與其外圍類對象的信息相互獨立。
- 在單個外圍類中,可以讓多個內部類以不同的方式實現同一個接口或繼承同一個類。
- 創建內部類對象的時刻并不依賴于外圍類對象的創建。
- 內部類并沒有令人迷惑的is-a關系,它就是一個獨立的實體。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。