課程
/后端開發(fā)
/Java
/Java入門第二季 升級(jí)版
static 可以修飾哪些成員呢?
為什么這些成員在用static修飾以后,就不能訪問沒有static 修飾的成員呢?
2016-01-07
源自:Java入門第二季 升級(jí)版 7-8
正在回答
老師那個(gè)例子非常好理解
這就是個(gè)語法規(guī)則,我是這樣記憶的,靜態(tài)不能訪問非靜態(tài),非靜態(tài)既可以訪問靜態(tài)也可以訪問非靜態(tài),希望對(duì)你有用
static修飾符可用于類、字段、方法、屬性、運(yùn)算符、事件和構(gòu)造函數(shù)。
java規(guī)定,靜態(tài)方法不能直接訪問非靜態(tài)方法或者字段。如果要訪問,須通過new 對(duì)象進(jìn)行訪問
訪問靜態(tài):
public?class?Hello{ static?int?a?=?1; public?static?void?main(String[]?args)?{?//main方法為static System.out.println(Hello.a);??//類名.變量?訪問 System.out.println(a);?//?直接訪問 Hello?hello?=?new?Hello();? System.out.println(hello.a);?//?對(duì)象.變量?訪問 } }
訪問非靜態(tài):
public?class?Hello{ int?a?=?1; public?static?void?main(String[]?args)?{?//main方法為static //錯(cuò)誤信息:Cannot?make?a?static?reference?to?the?non-static?field?Hello.a System.out.println(Hello.a);??//類名.變量?訪問 //錯(cuò)誤信息:Cannot?make?a?static?reference?to?the?non-static?field?a System.out.println(a);?//?直接訪問 //不報(bào)錯(cuò) Hello?hello?=?new?Hello();? System.out.println(hello.a);?//?對(duì)象.變量?訪問 } }
舉報(bào)
課程升級(jí)!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會(huì)Java面向?qū)ο缶幊痰膴W妙
2 回答static修飾變量時(shí),是不是只可以修飾成員變量而不可以修飾局部變量?
3 回答繼承中成員變量的修飾符問題
1 回答當(dāng)用static修飾成員變量時(shí),在main方法中直接輸出變量名也可訪問?
3 回答private修飾的成員變量能被重新賦值嗎?
6 回答為什么不能用static修飾這個(gè)初始化塊?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-01-24
老師那個(gè)例子非常好理解
2016-01-07
這就是個(gè)語法規(guī)則,我是這樣記憶的,靜態(tài)不能訪問非靜態(tài),非靜態(tài)既可以訪問靜態(tài)也可以訪問非靜態(tài),希望對(duì)你有用
2016-01-07
static修飾符可用于類、字段、方法、屬性、運(yùn)算符、事件和構(gòu)造函數(shù)。
java規(guī)定,靜態(tài)方法不能直接訪問非靜態(tài)方法或者字段。如果要訪問,須通過new 對(duì)象進(jìn)行訪問
訪問靜態(tài):
訪問非靜態(tài):