課程
/后端開發
/Java
/Java入門第二季 升級版
靜態類,靜態成員,才可以??????? Class.name????? 這樣,那么靜態類,普通成員怎么調用,求解
2015-07-09
源自:Java入門第二季 升級版 7-7
正在回答
public?class?Solve?{ static?class?A{ int?b?=?2; static?int?c?=3; } public?static?void?main(String[]?args)?{ int?x?=?A.c; System.out.println(x);//3 A?a=?new?A(); System.out.println(a.b);//2 } }
我們知道靜態類中的靜態成員,可以直接以Class.name去直接調用,為什么呢?因為static修飾的類和成員 或者是方法 在編譯時已經存在于內存中,而你看那個int b=2;并沒有被static修飾,那么說明編譯時它壓根就不存在,是一個不存在的成員。那怎么讓它出現在內存中呢?我們得實例化一個Class A,這樣b就存在于這個實例化的class之中,就可以class.name來調用了
willkill 提問者
Fallbuster 回復 willkill 提問者
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
2 回答普通成員方法/靜態方法
3 回答普通成員方法可以調用同類靜態變量,同類靜態方法也同樣可以調用嗎?
2 回答靜態內部類調用外部類的非靜態成員變量怎么調呀?
2 回答普通方法可以調用類里靜態屬性嗎?
2 回答靜態方法調用非靜態成員
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-07-09
我們知道靜態類中的靜態成員,可以直接以Class.name去直接調用,為什么呢?因為static修飾的類和成員 或者是方法 在編譯時已經存在于內存中,而你看那個int b=2;并沒有被static修飾,那么說明編譯時它壓根就不存在,是一個不存在的成員。那怎么讓它出現在內存中呢?我們得實例化一個Class A,這樣b就存在于這個實例化的class之中,就可以class.name來調用了