java內(nèi)部類的最詳細詳解
1、成員內(nèi)部類
內(nèi)部類與外部類的關(guān)系
a.成員內(nèi)部類的創(chuàng)建需要依賴于外部類對象-(成員方法必須通過對象調(diào)用),在沒有外部類實例之前無法創(chuàng)建成員內(nèi)部類對象
b.內(nèi)部類與外部類相對獨立,不是is a 的關(guān)系(發(fā)動機-汽車)
c.私有屬性的互相訪問,內(nèi)部類可以直接訪問外部類,而外部類訪問內(nèi)部類需要內(nèi)部類的對象來訪問
d.創(chuàng)建內(nèi)部類的語法
1.在外部類內(nèi)部創(chuàng)建內(nèi)部類對象(Inner inner = new Inner())
2.在外部類外部創(chuàng)建內(nèi)部類對象,外部類.內(nèi)部類 inner = new Outter().new Inner();
e.在內(nèi)部類內(nèi)部使用隱藏的外部類對象(隱藏的this)
成員內(nèi)部類:類比成員方法,不能擁有靜態(tài)域但是可以訪問外部類的靜態(tài)域
2、靜態(tài)內(nèi)部類
定義在外部類的內(nèi)部,使用static修飾,類比靜態(tài)方法,靜態(tài)內(nèi)部類不需要外部類對象產(chǎn)生就能使用,不能訪問外部類的成員域,但能訪問靜態(tài)域
靜態(tài)內(nèi)部類的創(chuàng)建語法:
1.外部類內(nèi)部:與成員內(nèi)部類一樣
2.外部類外部:StaticInnerClass.Inner inner = new StaticInnerClass.Inner();
3、方法內(nèi)部類
定義在方法內(nèi)部:類比局部變量
a.對外部完全隱藏,因此方法內(nèi)部類不能有任何訪問修飾符
b.方法內(nèi)部類沒有訪問形參是,這個形參是可以在方法中隨意修改的,一旦方法內(nèi)部類中使用了形參,這個形參必須被聲明為final。
4、匿名內(nèi)部類
a.必須繼承一個抽象類或者實現(xiàn)一個接口
b.沒有構(gòu)造方法
總結(jié)
到此這篇關(guān)于java內(nèi)部類的文章就介紹到這了,更多相關(guān)java內(nèi)部類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring cloud gateway 限流的實現(xiàn)與原理
這篇文章主要介紹了spring cloud gateway 限流的實現(xiàn)與原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12Spring MVC中使用Controller如何進行重定向
這篇文章主要介紹了Spring MVC中使用Controller如何進行重定向操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09解決SpringMVC Controller 接收頁面?zhèn)鬟f的中文參數(shù)出現(xiàn)亂碼的問題
下面小編就為大家分享一篇解決SpringMVC Controller 接收頁面?zhèn)鬟f的中文參數(shù)出現(xiàn)亂碼的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03