欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java JDK11基于嵌套的訪問控制的實(shí)現(xiàn)

 更新時(shí)間:2019年01月28日 10:18:22   作者:Spring中文網(wǎng)  
這篇文章主要介紹了Java JDK11基于嵌套的訪問控制的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

Java(和其他語(yǔ)言)通過(guò)內(nèi)部類支持嵌套類。要使其正常工作,需要編譯器執(zhí)行一些技巧。這是一個(gè)例子:

public class Outer {
  private int outerInt;

   class Inner {
    public void printOuterInt() {
     System.out.println("Outer int = " + outerInt);
    }
  }
}

在執(zhí)行編譯之前,編譯器會(huì)修改它以創(chuàng)建類似的東西:

public class Outer {
 private int outerInt;

 public int access$000() {
  return outerInt; 
 }

}

class Inner$Outer {

 Outer outer;

 public void printOuterInt() {
  System.out.println("Outer int = " + outer.access$000());
 }
}

雖然從邏輯上講,內(nèi)部類是與外部類相同的代碼實(shí)體的一部分,但它被編譯為一個(gè)單獨(dú)的類。因此,它需要編譯器創(chuàng)建合成橋接方法,以提供對(duì)外部類的私有字段的訪問。

這個(gè)JEP引入了巢的概念,其中同一巢的兩個(gè)成員(我們的例子中的外部和內(nèi)部)是同窩。為類文件格式NestHost和NestMembers定義了兩個(gè)新屬性。這些更改對(duì)于支持嵌套類并編譯為字節(jié)碼的其他語(yǔ)言非常有用。

此功能為java.lang.Class引入了三個(gè)新方法:

  • Class getNestHost()
  • Class[] getNestMembers()
  • boolean isNestmateOf(Class)

此功能還需要更改Java虛擬機(jī)規(guī)范(JVMS),特別是第5.4.4節(jié)“訪問控制”。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java文件上傳技術(shù)深入剖析

    java文件上傳技術(shù)深入剖析

    這篇文章主要為大家詳細(xì)介紹了java文件上傳技術(shù)深入剖析,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 詳解Spring 參數(shù)驗(yàn)證@Validated和@Valid的區(qū)別

    詳解Spring 參數(shù)驗(yàn)證@Validated和@Valid的區(qū)別

    這篇文章主要介紹了詳解參數(shù)驗(yàn)證 @Validated 和 @Valid 的區(qū)別,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 后端實(shí)現(xiàn)數(shù)據(jù)脫敏的6種方案詳細(xì)介紹

    后端實(shí)現(xiàn)數(shù)據(jù)脫敏的6種方案詳細(xì)介紹

    這篇文章主要為大家詳細(xì)介紹了后端實(shí)現(xiàn)數(shù)據(jù)脫敏的6種方案,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-05-05
  • MyEclipse如何取消默認(rèn)工作空間方法示例

    MyEclipse如何取消默認(rèn)工作空間方法示例

    這篇文章主要介紹了MyEclipse如何取消默認(rèn)工作空間,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java基于Netty實(shí)現(xiàn)Http server的實(shí)戰(zhàn)

    Java基于Netty實(shí)現(xiàn)Http server的實(shí)戰(zhàn)

    本文主要介紹了Java基于Netty實(shí)現(xiàn)Http server的實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • JVM入門之JVM內(nèi)存結(jié)構(gòu)內(nèi)容詳解

    JVM入門之JVM內(nèi)存結(jié)構(gòu)內(nèi)容詳解

    這篇文章主要介紹了JVM入門之JVM內(nèi)存結(jié)構(gòu)內(nèi)容詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Gradle的使用教程詳解

    Gradle的使用教程詳解

    Gradle它使用一種基于Groovy的特定領(lǐng)域語(yǔ)言(DSL)來(lái)聲明項(xiàng)目設(shè)置,目前也增加了基于Kotlin語(yǔ)言的kotlin-based DSL,拋棄了基于XML的各種繁瑣配置,下面通過(guò)本文給大家介紹Gradle的使用教程,感興趣的朋友一起看看吧
    2020-09-09
  • Java中的for循環(huán)結(jié)構(gòu)及實(shí)例

    Java中的for循環(huán)結(jié)構(gòu)及實(shí)例

    這篇文章主要介紹了Java中的for循環(huán)結(jié)構(gòu)及實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java使用IO流實(shí)現(xiàn)音頻的剪切和拼接

    Java使用IO流實(shí)現(xiàn)音頻的剪切和拼接

    這篇文章主要為大家詳細(xì)介紹了Java使用IO流實(shí)現(xiàn)音頻的剪切和拼接,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Spring MVC的國(guó)際化實(shí)現(xiàn)代碼

    Spring MVC的國(guó)際化實(shí)現(xiàn)代碼

    本篇文章主要介紹了Spring MVC的國(guó)際化實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08

最新評(píng)論