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