第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

為什么外部Java類可以訪問內(nèi)部類私有成員?

為什么外部Java類可以訪問內(nèi)部類私有成員?

ibeautiful 2019-07-08 16:43:46
為什么外部Java類可以訪問內(nèi)部類私有成員?我注意到,外部類可以訪問內(nèi)部類、私有實(shí)例變量。這怎麼可能?下面是演示相同的示例代碼:class ABC{     class XYZ{         private int x=10;     }     public static void main(String... args){         ABC.XYZ xx = new ABC().new XYZ();         System.out.println("Hello :: "+xx.x); ///Why is this allowed??     }}為什么允許這種行為?
查看完整描述

3 回答

?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊

內(nèi)部類只是一種干凈地分離一些真正屬于原始外部類的功能的方法。當(dāng)您有兩個(gè)需求時(shí),它們將用于:

  1. 如果在單獨(dú)的類中實(shí)現(xiàn)的話,外層類中的某些功能將是最明確的。
  2. 盡管它位于一個(gè)單獨(dú)的類中,但它的功能與外部類的工作方式密切相關(guān)。

考慮到這些需求,內(nèi)部類可以完全訪問它們的外部類。因?yàn)樗麄兓旧鲜峭獠款惖某蓡T,所以他們有權(quán)訪問外部類的方法和屬性-包括私營化。


查看完整回答
反對 回復(fù) 2019-07-08
?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

如果您想隱藏內(nèi)部類的私有成員,您可以與公共成員定義一個(gè)接口,并創(chuàng)建一個(gè)實(shí)現(xiàn)此接口的匿名內(nèi)部類。下面的例子:

class ABC{
    private interface MyInterface{
         void printInt();
    }

    private static MyInterface mMember = new MyInterface(){
        private int x=10;

        public void printInt(){
            System.out.println(String.valueOf(x));
        }
    };

    public static void main(String... args){
        System.out.println("Hello :: "+mMember.x); ///not allowed
        mMember.printInt(); // allowed
    }}


查看完整回答
反對 回復(fù) 2019-07-08
  • 3 回答
  • 0 關(guān)注
  • 2557 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號