課程
/后端開發(fā)
/Java
/Java入門第二季 升級(jí)版
靜態(tài)內(nèi)部類的成員是靜態(tài)的嗎?
2015-09-21
源自:Java入門第二季 升級(jí)版 7-7
正在回答
靜態(tài)內(nèi)部類的成員可以是靜態(tài)的 也可以是非靜態(tài)的, 比如 主函數(shù)就是靜態(tài)的,你在主函數(shù)當(dāng)中可以定義int x=0;
但是如果一個(gè)內(nèi)部類里面有靜態(tài)成員,那么該內(nèi)部類必須是靜態(tài)的,因?yàn)殪o態(tài)成員會(huì)在外部類加載時(shí)就加載,這要求了內(nèi)部類也必須加載,所以內(nèi)部類也必須靜態(tài)化
SungJoe 提問者
不一定,你可以把靜態(tài)類與靜態(tài)方法類比著看,靜態(tài)方法里是有非靜態(tài)成員的,靜態(tài)類也一樣。
其實(shí)靜態(tài)并不是指它本身有何特殊,而是定義了 這個(gè)方法最好是用類去調(diào)用(而非對(duì)象,當(dāng)然對(duì)象也是能調(diào)用的),或者這個(gè)內(nèi)部類也是要通過外部類(而非對(duì)象)去創(chuàng)建實(shí)例的。正因?yàn)槿绱?,有的時(shí)候我們才會(huì)感覺static難以理解,像是static方法不能調(diào)用非static方法,是因?yàn)槿绻穷惾フ{(diào)用這個(gè)static方法,也就沒有對(duì)象,自然不能調(diào)用非靜態(tài)的方法。
舉報(bào)
課程升級(jí)!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會(huì)Java面向?qū)ο缶幊痰膴W妙
2 回答靜態(tài)內(nèi)部類
1 回答內(nèi)部類與外部類,靜態(tài)和非靜態(tài)
4 回答靜態(tài)內(nèi)部類的靜態(tài)方法如何訪問靜態(tài)內(nèi)部類的非靜態(tài)成員?
2 回答靜態(tài)內(nèi)部類與方法內(nèi)部類
4 回答靜態(tài)內(nèi)部類實(shí)例
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-09-21
靜態(tài)內(nèi)部類的成員可以是靜態(tài)的 也可以是非靜態(tài)的, 比如 主函數(shù)就是靜態(tài)的,你在主函數(shù)當(dāng)中可以定義int x=0;
但是如果一個(gè)內(nèi)部類里面有靜態(tài)成員,那么該內(nèi)部類必須是靜態(tài)的,因?yàn)殪o態(tài)成員會(huì)在外部類加載時(shí)就加載,這要求了內(nèi)部類也必須加載,所以內(nèi)部類也必須靜態(tài)化
2015-09-21
不一定,你可以把靜態(tài)類與靜態(tài)方法類比著看,靜態(tài)方法里是有非靜態(tài)成員的,靜態(tài)類也一樣。
其實(shí)靜態(tài)并不是指它本身有何特殊,而是定義了 這個(gè)方法最好是用類去調(diào)用(而非對(duì)象,當(dāng)然對(duì)象也是能調(diào)用的),或者這個(gè)內(nèi)部類也是要通過外部類(而非對(duì)象)去創(chuàng)建實(shí)例的。正因?yàn)槿绱?,有的時(shí)候我們才會(huì)感覺static難以理解,像是static方法不能調(diào)用非static方法,是因?yàn)槿绻穷惾フ{(diào)用這個(gè)static方法,也就沒有對(duì)象,自然不能調(diào)用非靜態(tài)的方法。