亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

score1和score2為什么必須定義為靜態變量??

score1和score2都定義在類中,不是屬于成員變量么?其他類和方法不能直接調用么??

正在回答

4 回答

類中的靜態變量在程序運行期間,其內存空間對所有該類的對象實例而言是共享的,為了節省系統內存開銷、共享資源,應該將一些變量聲明為靜態變量。

0 回復 有任何疑惑可以回復我~

靜態方法也是可以調用其他類的方法的,只是需要在靜態方法中創建這個類的對象,就是在執行靜態方法時,申請一個對象,然后才可以使用這個對象的方法。總的來說就是,想要執行,就需要給它分配內存空間,內存里沒有,就沒辦法執行。

0 回復 有任何疑惑可以回復我~

靜態變量和其他的非靜態的成員變量是不同的,靜態變量在整個源程序運行的過程中是一直存在的,在最開始的時候就給它分配的內存空間。而非靜態的變量則是在創建對象的時候才被分配內存空間。

同樣,靜態方法也是,在最開始的時候就已經給分配空間,也就是說,它不需要建立一個對象才能調用,直接類本身就可以調用,這樣就必須保證靜態方法的內容也必須是不需要通過對象調用就可以使用的,所以它只能調用同樣被分配空間的靜態變量。

0 回復 有任何疑惑可以回復我~

靜態方法中可以直接調用同類中的靜態成員,但不能直接調用非靜態成員。

如果希望在靜態方法中調用非靜態變量,可以通過創建類的對象,然后通過對象來訪問非靜態變量。

如果score1和score2都不是靜態變量,那么下面的靜態方法sum()就不能調用了啊


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531144    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

score1和score2為什么必須定義為靜態變量??

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號