亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

成員是否就是屬性?

1.靜態內部類不能直接訪問外部類的非靜態成員,不是說內部類都不能直接訪問外部屬性嗎?(上一章)并且是說靜態內部類可以直接訪問外部靜態成員?

2.靜態內部方法中如果要調用外部類的屬性,就用外部類名.屬性嗎?上一章不是外部類名.this.屬性名嗎?

正在回答

3 回答

成員就是屬性,你問的問題很好,我突然感覺我自己都不是很清楚了。有了這些想法,你可以自己去IDE中去試一下啊,不太清楚的地方再去百度。

我個人的理解大約是這樣的。靜態的內部類是不能調用外部類非靜態的成員;靜態內部類可以直接訪問外部靜態成員;成員內部類可以調用外部類的不論是靜態的還是非靜態的成員。

靜態內部類只能調用外部類的靜態屬性,直接屬性名就可以了,也可以外部類名.屬性。

外部類名.this.屬性名調用的是靜態內部類的非靜態成員,應該是這樣。

0 回復 有任何疑惑可以回復我~
#1

勤奮學習的kid 提問者

答疑很清晰
2015-09-23 回復 有任何疑惑可以回復我~

個人的理解不知道對不對:

  • 在創建普通內部類的實例時候,連帶外部類實例一起創建了,所以有了外部類的普通成員。

  • 而在創建靜態內部類實例的時候,不需要創建外部類的實例,所以外部類的普通成員自然也就不存在,所以無法訪問。只能訪問那些不需要實例也可以訪問的靜態成員。

0 回復 有任何疑惑可以回復我~
#1

Sniffer

this關鍵字應該指代的是當前實例,但是靜態內部類創建實例的時候沒有創建外部類的實例,自然也就沒辦法this?
2015-10-10 回復 有任何疑惑可以回復我~
#2

Sniffer

視頻里面有說道: "1、 靜態內部類不能直接訪問外部類的非靜態成員,但可以通過 new 外部類().成員 的方式訪問 " 這就是創建了一個外部類的實例來訪問其成員吧。。
2015-10-10 回復 有任何疑惑可以回復我~

樓主你是不是說錯了 ??

1,內部類是可以直接訪問外部類的成員

2,而靜態內部類則不能訪問外部類的非靜態成員,但是可以直接訪問外部類的靜態成員,就像主函數不能直接訪問非靜態成員一樣

3,靜態內部類的方法中如果要調用外部類非靜態屬性只有通過對象名.屬性來調用

0 回復 有任何疑惑可以回復我~
#1

wswzh0329

。。第三點(對象名.屬性)怎么理解?非靜態屬性是指非靜態成員變量嗎?調用非靜態屬性就是使用外部類中的非靜態變量?變量是指對象的屬性,所以要先創建一個對象?然后用(對象名.變量名)?
2015-10-04 回復 有任何疑惑可以回復我~
#2

天啟之魂 回復 wswzh0329

應該是成員,變量和方法都需要這樣來調用
2015-10-04 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531220    人
  • 解答問題       6327    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

成員是否就是屬性?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號