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