java內(nèi)部類有什么好處?為什么需要內(nèi)部類?
首先舉一個(gè)簡(jiǎn)單的例子,如果你想實(shí)現(xiàn)一個(gè)接口,但是這個(gè)接口中的一個(gè)方法和你構(gòu)想的這個(gè)類中的一個(gè)方法的名稱,參數(shù)相同,你應(yīng)該怎么辦?這時(shí)候,你可以建一個(gè)內(nèi)部類實(shí)現(xiàn)這個(gè)接口。由于內(nèi)部類對(duì)外部類的所有內(nèi)容都是可訪問的,所以這樣做可以完成所有你直接實(shí)現(xiàn)這個(gè)接口的功能。
不過你可能要質(zhì)疑,更改一下方法的不就行了嗎?
的確,以此作為設(shè)計(jì)內(nèi)部類的理由,實(shí)在沒有說服力。
真正的原因是這樣的,java中的內(nèi)部類和接口加在一起,可以的解決常被C++程序員抱怨java中存在的一個(gè)問題——沒有多繼承。實(shí)際上,C++的多繼承設(shè)計(jì)起來很復(fù)雜,而java通過內(nèi)部類加上接口,可以很好的實(shí)現(xiàn)多繼承的效果。
???? 引用:http://www.javafan.net/article/20050602155806283.html。