今天就跟大家聊聊有關(guān)java中的內(nèi)部類,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)邗江免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。在一個類內(nèi)部的類,我們稱之為內(nèi)部類。
內(nèi)部類(nested classes),面向?qū)ο蟪绦蛟O(shè)計中,可以在一個類的內(nèi)部定義另一個類。嵌套類分為兩種,即靜態(tài)嵌套類和非靜態(tài)嵌套類。靜態(tài)嵌套類使用很少,最重要的是非靜態(tài)嵌套類,也即是被稱作為內(nèi)部類(inner)。內(nèi)部類是JAVA語言的主要附加部分。內(nèi)部類幾乎可以處于一個類內(nèi)部任何位置,可以與實(shí)例變量處于同一級,或處于方法之內(nèi),甚至是一個表達(dá)式的一部分。
內(nèi)部類分類:
內(nèi)部類可以分為:實(shí)例內(nèi)部類、靜態(tài)內(nèi)部類和成員內(nèi)部類,每種內(nèi)部類都有它特定的一些特點(diǎn)。
在類 A 中定義類 B,那么類 B 就是內(nèi)部類,也稱為嵌套類,相對而言,類 A 就是外部類。如果有多層嵌套,例如類 A 中有內(nèi)部類 B,而類 B 中還有內(nèi)部類 C,那么通常將最外層的類稱為頂層類(或者頂級類)。
內(nèi)部類也可以分為多種形式,與變量非常類似,如圖 1 所示:
內(nèi)部類的特點(diǎn):
⒈ 內(nèi)部類對象可以訪問創(chuàng)建它的對象的實(shí)現(xiàn),包括私有數(shù)據(jù);
⒉ 內(nèi)部類不為同一包的其他類所見,具有很好的封裝性;
⒊ 使用內(nèi)部類可以很方便的編寫事件驅(qū)動程序;
⒋ 匿名內(nèi)部類可以方便的定義運(yùn)行時回調(diào);
5.內(nèi)部類可以方便的定義