java内部类的特点
第一個(gè)特點(diǎn),內(nèi)部類(lèi)可以訪問(wèn)其所在類(lèi)的私有屬性和方法。這一點(diǎn)就很像孕媽媽肚里的小寶寶一樣,可以很方便的吸收一些媽媽的營(yíng)養(yǎng)。以 HashMap 為例,它里面有好幾個(gè)內(nèi)部類(lèi)。觀察這幾個(gè)內(nèi)部類(lèi)你會(huì)發(fā)現(xiàn)有一個(gè)共同特點(diǎn)就是內(nèi)部類(lèi)可以很方便的訪問(wèn)所在外部類(lèi)的一些私有屬性和方法。如果你把鏈表給抽取出來(lái),你會(huì)發(fā)現(xiàn),最終的鏈表實(shí)現(xiàn)起來(lái)難了很多。
第二個(gè)特點(diǎn),內(nèi)部類(lèi)可以隱藏起來(lái),不被同一個(gè)包中的其他類(lèi)訪問(wèn),如果一個(gè)類(lèi)只對(duì)某個(gè)類(lèi)提供使用,那么可以將其定義為內(nèi)部類(lèi)。這個(gè)特點(diǎn)在 HashMap 等集合中也有體現(xiàn),具體來(lái)說(shuō)就是各個(gè)內(nèi)部類(lèi)都是輔助所在的外部類(lèi)的。作為外部類(lèi)的一部分,具有強(qiáng)關(guān)聯(lián)性。并且不希望除了所屬的外部類(lèi)使用外的其他類(lèi)進(jìn)行訪問(wèn)。
第三個(gè)特點(diǎn),可以聯(lián)合外部類(lèi)解決多繼承問(wèn)題。這也是我認(rèn)為非常重要的一個(gè)特點(diǎn)。還是以 HashMap 為例,它本身繼承了 AbstractMap。但是它的所有內(nèi)部類(lèi),都又有了各自的繼承。
總結(jié)
以上是生活随笔為你收集整理的java内部类的特点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 为什么java容器能在for each中
- 下一篇: sringboot security基本