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

為了賬號安全,請及時綁定郵箱和手機立即綁定

到底什么情況下加了private的成員變量不能被修改和調(diào)用?

public?class?HelloWorld{
????
????//外部類的私有屬性name
????private?String?name?=?"imooc";
????
????//外部類的成員屬性
????int?age?=?20;
????
	//成員內(nèi)部類Inner
	public?class?Inner?{
		String?name?=?"愛慕課";
????????//內(nèi)部類中的方法
		public?void?show()?{?
			System.out.println("外部類中的name:"?+?HelloWorld.this.name?????????????????);
			System.out.println("內(nèi)部類中的name:"?+?name?????????????????);
			System.out.println("外部類中的age:"?+?age);
		}
	}
????
	//測試成員內(nèi)部類
	public?static?void?main(String[]?args)?{
????????
????????//創(chuàng)建外部類的對象
		HelloWorld?o?=?new?HelloWorld?();?
????????
????????//創(chuàng)建內(nèi)部類的對象
		Inner?inn?=?o.new?Inner();?????????????;
????????
????????//調(diào)用內(nèi)部類對象的show方法
		inn.show();
	}
}
比如這個外部類的成員變量name的值加了private為什么還能被內(nèi)部類的對象來訪問和修改變量,不是應(yīng)該用個體特然和setter方法才能修改或者獲取嗎?


正在回答

2 回答

這要從private作用域說起,private修飾的變量只能被這個類內(nèi)部調(diào)用,不能被外部對象直接調(diào)用,而內(nèi)部類也屬于這類本身的一部分,所以可以調(diào)用

3 回復(fù) 有任何疑惑可以回復(fù)我~
#1

燃燒wzy風(fēng)3961169 提問者

非常感謝!
2017-07-19 回復(fù) 有任何疑惑可以回復(fù)我~
#2

srecko

但是把內(nèi)部類Inner的方法public void show()變成private void show()后,外部類仍然可以訪問內(nèi)部類的private,就是說“private修飾的變量只能被這個類內(nèi)部調(diào)用”這句話不適用于內(nèi)部類這種情況。
2017-07-27 回復(fù) 有任何疑惑可以回復(fù)我~

你的private給的是外部類,你的內(nèi)部類的name沒有private,內(nèi)部類的對象調(diào)用的是內(nèi)部類的name。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

燃燒wzy風(fēng)3961169 提問者

不是啊,show()方法里第一個就調(diào)用了外部類的name
2017-07-19 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

到底什么情況下加了private的成員變量不能被修改和調(diào)用?

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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