更新時(shí)間:2020-04-30 14:44:52 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽6064次
一、內(nèi)部類(lèi)內(nèi)容解析
1.內(nèi)部類(lèi)的區(qū)分
內(nèi)部類(lèi)分別有成員內(nèi)部類(lèi)、局部?jī)?nèi)部類(lèi)、匿名內(nèi)部類(lèi)、靜態(tài)內(nèi)部類(lèi),接下來(lái)將分別介紹。
2.成員內(nèi)部類(lèi)
就是位于外部類(lèi)成員位置的類(lèi)。與外部類(lèi)的屬性、方法并列。
成員內(nèi)部類(lèi)作為外部類(lèi)的成員,可以訪問(wèn)外部類(lèi)的私有成員或?qū)傩浴#词箤⑼獠款?lèi)聲明為private,但是對(duì)于處于其內(nèi)部的內(nèi)部類(lèi)還是可見(jiàn)的。)
用成員內(nèi)部類(lèi)定義在外部類(lèi)中不可訪問(wèn)的屬性。這樣就在外部類(lèi)中實(shí)現(xiàn)了比外部類(lèi)的private還要小的訪問(wèn)權(quán)限。
注意:內(nèi)部類(lèi)是一個(gè)編譯時(shí)的概念,一旦編譯成功,就會(huì)成為完全不同的兩類(lèi)。對(duì)于一個(gè)名為outer的外部類(lèi)和其內(nèi)部定義的名為inner的內(nèi)部類(lèi)。編譯完成后出現(xiàn)outer.class和outer$inner.class兩類(lèi)。
①.代碼例子

②.作用
數(shù)據(jù)安全。如果我們的內(nèi)部類(lèi)不想輕易被任何人訪問(wèn),可以選擇使用private修飾內(nèi)部類(lèi),這樣我們就無(wú)法通過(guò)創(chuàng)建對(duì)象的途徑來(lái)訪問(wèn),想要訪問(wèn)只需要在外部類(lèi)中定義一個(gè)public修飾的方法,間接調(diào)用。這樣做的好處就是,我們可以在這個(gè)public方法中增加一些判斷語(yǔ)句,起到數(shù)據(jù)安全的作用。
3.局部?jī)?nèi)部類(lèi)
定義在一個(gè)方法或者一個(gè)作用域里面的類(lèi)。
局部?jī)?nèi)部類(lèi)中不可定義靜態(tài)變量,可以訪問(wèn)外部類(lèi)的局部變量(即方法內(nèi)的變量),但是變量必須是final的。
①.代碼例子

局部?jī)?nèi)部類(lèi)只能在所在的方法體作用域內(nèi)進(jìn)行實(shí)例化,而如果要在所在方法體返回該類(lèi),就要通過(guò)接口向上轉(zhuǎn)型的操作。(如同上處代碼)
②.作用
在某些情況下,某些業(yè)務(wù)邏輯需要臨時(shí)處理,這些業(yè)務(wù)邏輯只在這里使用又可以封裝成一個(gè)類(lèi)的話,而又沒(méi)必要重新建個(gè)文件,所以可以這寫(xiě)一個(gè)局部?jī)?nèi)部類(lèi)來(lái)處理。然后,在我的記憶中,java代理模式中有用到局部?jī)?nèi)部類(lèi),在方法中直接實(shí)現(xiàn)接口,返回代理對(duì)象,簡(jiǎn)單而又方便。
4.靜態(tài)內(nèi)部類(lèi)
靜態(tài)字段的內(nèi)部類(lèi),和靜態(tài)方法并列。
①.代碼例子

②.作用
提供調(diào)試作用。我將main方法寫(xiě)在靜態(tài)內(nèi)部類(lèi)中,生成.class文件后,調(diào)試代碼在靜態(tài)內(nèi)部類(lèi)當(dāng)中,當(dāng)我刪除靜態(tài)內(nèi)部類(lèi)后,其他人仍然可以使用我的外部類(lèi)。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java基礎(chǔ)學(xué)習(xí):java內(nèi)部類(lèi)的作用”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)