最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java基礎(chǔ)之內(nèi)部類與代理知識總結(jié)

 更新時(shí)間:2021年06月04日 15:15:06   作者:GDUT_Ember  
今天帶大家復(fù)習(xí)Java的基礎(chǔ)知識,文中有非常詳細(xì)的介紹及圖文示例,對正在學(xué)習(xí)Java的小伙伴們很有幫助,需要的朋友可以參考下

一、內(nèi)部類

內(nèi)部類是指在另一個(gè)類中的類

  • 內(nèi)部類可以對同一個(gè)包中的所有類隱藏(權(quán)限改為private)
  • 內(nèi)部類方法可以訪問定義這個(gè)類的作用域中的數(shù)據(jù),包括原本私有的數(shù)據(jù)

注意:內(nèi)部類位于類的內(nèi)部,并不意味著類的實(shí)例都必須要有內(nèi)部類的實(shí)例

內(nèi)部類是可以訪問定義這個(gè)類的屬性的,因?yàn)?strong>內(nèi)部類的對象總有一個(gè)隱式引用,指向創(chuàng)建它的外部類對象

對于一般的類,只有包可見性和公共可見性(一個(gè)是缺省,另一個(gè)是public,沒有protected和private,protected一般對于外部類權(quán)限是沒多大用處的)

但對于內(nèi)部類,可以是所有類型,public、protected、default、private(因?yàn)槭莾?nèi)部類,外面還套著一個(gè)類,所以protected是有意義的)

1.1 創(chuàng)建內(nèi)部類

內(nèi)部類的new比較特殊,是建立在以實(shí)例化的外部類去執(zhí)行的(而且前提內(nèi)部類不為private)

在這里插入圖片描述

如果內(nèi)部類為private的話,對于外部是根本找不到這個(gè)類的,不可以去調(diào)用,而且只有外部類可以構(gòu)造內(nèi)部類的實(shí)例對象

1.2 內(nèi)部類調(diào)用外部類的變量

也是使用this關(guān)鍵字,不過為了區(qū)分this(區(qū)分是外部類還是內(nèi)部類),使用外部類的屬性時(shí),需要用:外部類名.this來操作

在這里插入圖片描述

二、局部內(nèi)部類

如果一個(gè)類只要使用一次,可以直接在一個(gè)方法中局部地去定義這個(gè)類,更好地節(jié)約了空間

注意:局部內(nèi)部類聲明時(shí)是不可以有訪問說明符的(public或者private),局部類的作用域被限定在聲明這個(gè)局部類的方法塊中,局部類最大的優(yōu)勢就是,對外部世界是完全隱藏的,甚至在本類也不可以訪問,也就是除了聲明局部類的方法塊中,沒有任何其他類或方法可以訪問局部類,知道其存在

在這里插入圖片描述

2.1 外部方法訪問變量

局部類的一個(gè)優(yōu)點(diǎn)就是局部類不僅可以訪問外部類的字段,還可以訪問方法里面的局部變量

在這里插入圖片描述

訪問的方法與內(nèi)部類是一致的

三、匿名內(nèi)部類

如果對于局部內(nèi)部類使用時(shí),甚至不需要去定義匿名內(nèi)部類的名字,只是想單獨(dú)去創(chuàng)建對象,那么可以不用給其設(shè)置名字,稱為匿名內(nèi)部類

比如說,想要一個(gè)臨時(shí)的接口實(shí)現(xiàn)類

在這里插入圖片描述

當(dāng)然不一定是一個(gè)接口,也可以是一個(gè)類,如果是接口就要去實(shí)現(xiàn)里面的抽象方法,如果是類的話,就可以自定義去進(jìn)行拓展

在這里插入圖片描述

四、lambda表達(dá)式結(jié)合局部內(nèi)部類

前面說過lambda表達(dá)式適用于函數(shù)式接口,所以我們也可以使用lambda表達(dá)式來實(shí)現(xiàn)局部內(nèi)部類

當(dāng)然,lambda表達(dá)式生成的相當(dāng)于是一個(gè)參數(shù),所以要使用方法入?yún)碚{(diào)用

在這里插入圖片描述

lambda表達(dá)式使用一個(gè)空括號代表無參,所以建議,即使只有一個(gè)參數(shù),也放在括號里面

五、靜態(tài)內(nèi)部類

或許有的時(shí)候,只是想將內(nèi)部類隱藏起來,并不需要內(nèi)部類擁有外部類的一個(gè)引用指針(即this),那么可以將內(nèi)部類用static關(guān)鍵字去修飾,這樣內(nèi)部類就不會(huì)有外部類的引用了(無法使用到外部類的方法和變量了),稱為靜態(tài)內(nèi)部類

六、代理

代理(proxy)是一種比較高級的計(jì)技術(shù)

利用代理可以在運(yùn)行時(shí)創(chuàng)建實(shí)現(xiàn)了一組給定接口的新類(在不知道要實(shí)現(xiàn)哪些接口時(shí))

到此這篇關(guān)于Java基礎(chǔ)之內(nèi)部類與代理知識總結(jié)的文章就介紹到這了,更多相關(guān)Java內(nèi)部類與代理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 作為Java程序員應(yīng)該掌握的10項(xiàng)技能

    作為Java程序員應(yīng)該掌握的10項(xiàng)技能

    這篇文章主要介紹了作為Java程序員應(yīng)該掌握的10項(xiàng)技能,包括java的知識點(diǎn)與相關(guān)的技能,對于java的學(xué)習(xí)有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • 關(guān)于泛型擦除問題的解決--Mybatis查詢類型轉(zhuǎn)換

    關(guān)于泛型擦除問題的解決--Mybatis查詢類型轉(zhuǎn)換

    這篇文章主要介紹了關(guān)于泛型擦除問題的解決--Mybatis查詢類型轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Java實(shí)現(xiàn)一個(gè)簡易版的多級菜單功能

    Java實(shí)現(xiàn)一個(gè)簡易版的多級菜單功能

    這篇文章主要給大家介紹了關(guān)于Java如何實(shí)現(xiàn)一個(gè)簡易版的多級菜單功能的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01
  • Java使用Swing實(shí)現(xiàn)一個(gè)模擬電腦計(jì)算器

    Java使用Swing實(shí)現(xiàn)一個(gè)模擬電腦計(jì)算器

    Java Swing 是一個(gè)用于創(chuàng)建 Java GUI(圖形用戶界面)的框架,它提供了一系列的 GUI 組件和工具,可以用于創(chuàng)建桌面應(yīng)用程序,包括按鈕、文本框、標(biāo)簽、表格等等,本文給大家介紹了Java使用Swing實(shí)現(xiàn)一個(gè)模擬計(jì)算器,感興趣的同學(xué)可以自己動(dòng)手嘗試一下
    2024-05-05
  • java學(xué)生信息管理系統(tǒng)設(shè)計(jì)

    java學(xué)生信息管理系統(tǒng)設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了java學(xué)生信息管理系統(tǒng)設(shè)計(jì),學(xué)生信息添加進(jìn)入數(shù)據(jù)庫的事務(wù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Rabbit消息重試機(jī)制問題記錄

    Rabbit消息重試機(jī)制問題記錄

    消息重試機(jī)制就是在消息處理失敗之后重新發(fā)送,主要時(shí)為了解決消息發(fā)送過程可能會(huì)出現(xiàn)的問題,例如 網(wǎng)絡(luò)故障、服務(wù)臨時(shí)不可用 等,這篇文章主要介紹了Rabbit消息重試機(jī)制問題記錄,需要的朋友可以參考下
    2024-08-08
  • Java中Collection與Collections的區(qū)別詳解

    Java中Collection與Collections的區(qū)別詳解

    這篇文章主要為大家詳細(xì)介紹了Java中Collection與Collections的區(qū)別,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,感興趣的同學(xué)可以參考一下
    2023-06-06
  • Java單利模式與多線程總結(jié)歸納

    Java單利模式與多線程總結(jié)歸納

    這篇文章主要介紹了Java單利模式與多線程總結(jié)歸納 的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • Spring Boot 連接LDAP的方法

    Spring Boot 連接LDAP的方法

    這篇文章主要介紹了Spring Boot 連接LDAP的方法,僅僅涉及基本的使用ODM來快速實(shí)現(xiàn)LDAP增刪改查操作。具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-12-12
  • Java系統(tǒng)環(huán)境變量配置全過程

    Java系統(tǒng)環(huán)境變量配置全過程

    本文介紹了如何配置Windows系統(tǒng)中的PATH和CLASSPATH環(huán)境變量,以及如何使用這些變量來運(yùn)行Java程序,步驟包括查看系統(tǒng)屬性、編輯環(huán)境變量、添加路徑、驗(yàn)證設(shè)置等,通過這些步驟,用戶可以永久性地保存PATH和CLASSPATH環(huán)境變量的設(shè)置,從而方便地運(yùn)行Java程序
    2024-11-11

最新評論

鄱阳县| 康平县| 宝丰县| 驻马店市| 平邑县| 门源| 平塘县| 封丘县| 凤庆县| 泾阳县| 西丰县| 望城县| 沽源县| 阳城县| 平潭县| 连江县| 平江县| 荔波县| 云南省| 崇州市| 友谊县| 曲阳县| 奉新县| 东方市| 茂名市| 旌德县| 潍坊市| 云龙县| 漳平市| 石棉县| 托克托县| 鲁山县| 广河县| 寿宁县| 任丘市| 祁门县| 雅江县| 汉寿县| 衡阳县| 新沂市| 东方市|