真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中有哪些內(nèi)部類(lèi)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Java中有哪些內(nèi)部類(lèi),文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、延壽ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的延壽網(wǎng)站制作公司

為什么使用內(nèi)部類(lèi)?

??每個(gè)內(nèi)部類(lèi)都能獨(dú)立地繼承自一個(gè)(接口的)實(shí)現(xiàn),所以無(wú)論外部類(lèi)是否已經(jīng)繼承了某個(gè)(接口的)實(shí)現(xiàn),對(duì)于內(nèi)部類(lèi)沒(méi)有影響。

  • 成員內(nèi)部類(lèi)

    • 為啥?因?yàn)殪o態(tài)變量和方法不依賴對(duì)象,僅與類(lèi)有關(guān)。在加載靜態(tài)域時(shí),根本沒(méi)有外部類(lèi)。所以在非靜態(tài)內(nèi)部類(lèi)中不能定義static變量和方法,編譯會(huì)不通過(guò)。

    • 內(nèi)部類(lèi)對(duì)于外部類(lèi)來(lái)說(shuō),相當(dāng)于一個(gè)成員變量。內(nèi)部類(lèi)可以使用任意訪問(wèn)控制符

    • 內(nèi)部類(lèi)的方法可以直接訪問(wèn)外部類(lèi)的數(shù)據(jù),而不受訪問(wèn)控制符的影響

    • 創(chuàng)建內(nèi)部類(lèi)對(duì)象方法:外部類(lèi).內(nèi)部類(lèi) 對(duì)象名 = 外部類(lèi)對(duì)象.new 內(nèi)部類(lèi)()

    • 編譯之后產(chǎn)生兩個(gè)class文件:Outer.class 和 Outer$Inner.class

    • 內(nèi)部類(lèi)中不能存在任何static的變量和方法

  • 靜態(tài)內(nèi)部類(lèi):用static修飾的內(nèi)部類(lèi)

    • 靜態(tài)內(nèi)部類(lèi)訪問(wèn)外部類(lèi)的非靜態(tài)成員:不能直接訪問(wèn),需要 new 外部類(lèi)().成員

    • 如果訪問(wèn)外部類(lèi)的static成員(名稱與內(nèi)部類(lèi)相同):“類(lèi)名.靜態(tài)成員”

    • 如果訪問(wèn)外部類(lèi)的static成員(名稱與內(nèi)部類(lèi)不相同):"靜態(tài)成員名"

    • 創(chuàng)建靜態(tài)內(nèi)部類(lèi)對(duì)象(不需要外部類(lèi)對(duì)象):外部類(lèi).內(nèi)部類(lèi) 對(duì)象名 = new 外部類(lèi).內(nèi)部類(lèi)()

  • 方法內(nèi)部類(lèi):訪問(wèn)僅限與方法內(nèi)(或者該作用域內(nèi))

    • 局部?jī)?nèi)部類(lèi)就像方法里的局部變量一樣,不能用public protected private static修飾的

    • 只能訪問(wèn)方法中定義的final類(lèi)型的局部變量。原因:局部變量會(huì)隨著方法體執(zhí)行完而消亡。但內(nèi)部類(lèi)對(duì)象還存在。(導(dǎo)致內(nèi)部類(lèi)要訪問(wèn)一個(gè)不存在的局部變量)(使用final不僅會(huì)保持對(duì)象的引用,還會(huì)讓編譯器持續(xù)維護(hù)這個(gè)對(duì)象在回調(diào)方法中的生命周期)(局部?jī)?nèi)部類(lèi)并不是直接調(diào)用方法傳進(jìn)來(lái)的參數(shù),而是內(nèi)部類(lèi)通過(guò)構(gòu)造器將參數(shù)備份一份)

  • 匿名內(nèi)部類(lèi)

    • 匿名內(nèi)部類(lèi)直接使用 new 來(lái)生成一個(gè)對(duì)象的引用

    • 缺點(diǎn):僅能被使用一次

    • 使用匿名內(nèi)部類(lèi)必須繼承一個(gè)類(lèi)或者實(shí)現(xiàn)一個(gè)接口(兩者不可兼得)

    • 匿名內(nèi)部類(lèi)不能有構(gòu)造函數(shù),不能存在任何靜態(tài)成員變量和靜態(tài)方法

    • 匿名內(nèi)部類(lèi)不能是抽象的必須實(shí)現(xiàn)繼承的類(lèi)或者實(shí)現(xiàn)的接口的所有抽象方法

    • 匿名內(nèi)部列初始化:使用構(gòu)造代碼塊。使用構(gòu)造代碼塊能夠達(dá)到為匿名內(nèi)部類(lèi)創(chuàng)建一個(gè)構(gòu)造器的效果。

上述就是小編為大家分享的Java中有哪些內(nèi)部類(lèi)了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


本文名稱:Java中有哪些內(nèi)部類(lèi)
URL分享:http://weahome.cn/article/pdceej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部