課程
/后端開發
/Java
/Java入門第二季 升級版
score1和score2都定義在類中,不是屬于成員變量么?其他類和方法不能直接調用么??
2017-11-01
源自:Java入門第二季 升級版 8-9
正在回答
類中的靜態變量在程序運行期間,其內存空間對所有該類的對象實例而言是共享的,為了節省系統內存開銷、共享資源,應該將一些變量聲明為靜態變量。
靜態方法也是可以調用其他類的方法的,只是需要在靜態方法中創建這個類的對象,就是在執行靜態方法時,申請一個對象,然后才可以使用這個對象的方法。總的來說就是,想要執行,就需要給它分配內存空間,內存里沒有,就沒辦法執行。
靜態變量和其他的非靜態的成員變量是不同的,靜態變量在整個源程序運行的過程中是一直存在的,在最開始的時候就給它分配的內存空間。而非靜態的變量則是在創建對象的時候才被分配內存空間。
同樣,靜態方法也是,在最開始的時候就已經給分配空間,也就是說,它不需要建立一個對象才能調用,直接類本身就可以調用,這樣就必須保證靜態方法的內容也必須是不需要通過對象調用就可以使用的,所以它只能調用同樣被分配空間的靜態變量。
靜態方法中可以直接調用同類中的靜態成員,但不能直接調用非靜態成員。
如果希望在靜態方法中調用非靜態變量,可以通過創建類的對象,然后通過對象來訪問非靜態變量。
如果score1和score2都不是靜態變量,那么下面的靜態方法sum()就不能調用了啊
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
1 回答為什么我不能定義靜態變量
2 回答靜態變量定義
1 回答return score1+score2;
4 回答score1 + score2;
4 回答為什么定義靜態變量 sum會提示表達式不和法???
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-11-07
類中的靜態變量在程序運行期間,其內存空間對所有該類的對象實例而言是共享的,為了節省系統內存開銷、共享資源,應該將一些變量聲明為靜態變量。
2017-11-02
靜態方法也是可以調用其他類的方法的,只是需要在靜態方法中創建這個類的對象,就是在執行靜態方法時,申請一個對象,然后才可以使用這個對象的方法。總的來說就是,想要執行,就需要給它分配內存空間,內存里沒有,就沒辦法執行。
2017-11-01
靜態變量和其他的非靜態的成員變量是不同的,靜態變量在整個源程序運行的過程中是一直存在的,在最開始的時候就給它分配的內存空間。而非靜態的變量則是在創建對象的時候才被分配內存空間。
同樣,靜態方法也是,在最開始的時候就已經給分配空間,也就是說,它不需要建立一個對象才能調用,直接類本身就可以調用,這樣就必須保證靜態方法的內容也必須是不需要通過對象調用就可以使用的,所以它只能調用同樣被分配空間的靜態變量。
2017-11-01
靜態方法中可以直接調用同類中的靜態成員,但不能直接調用非靜態成員。
如果希望在靜態方法中調用非靜態變量,可以通過創建類的對象,然后通過對象來訪問非靜態變量。
如果score1和score2都不是靜態變量,那么下面的靜態方法sum()就不能調用了啊