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

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

這一節例子里main函數的代碼中

這一節的例子里的num3作為一個靜態變量為什么可以被直接調用,既沒有通過類名調用也沒有通過對象名調用

正在回答

3 回答

因為main方法就是靜態的,public static void main(String[] args),里面有static,?靜態方法中可以直接調用同類中的靜態成員。

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

找到 ?Java中的static使用之靜態方法 ?這節課中

有這樣一句話, 靜態方法中可以直接調用同類中的靜態成員。 但不能直接調用非靜態成員?

上圖:

http://img1.sycdn.imooc.com//599807400001215306700239.jpg

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

靜態方法實際是類的方法,而不是關于對象的方法。所以不是“可以不通過對象調用方法”,而是恰恰應該使用類來調用,而且鼓勵這種寫法,而不是通過對象調用。即:靜態方法不和對象相關,而是僅僅和類相關。為啥呢?解釋是這樣的:在一般的類中定義的方法中,非靜態類其實不僅僅有他們后面括號里面的顯式參數(比如 public int getField(String param1, int param2)這個方法,顯式參數是param1和param2),還包括一個隱式參數:即這個調用方法的對象(即this)。而靜態方法,則沒有這個隱式的參數,僅僅就只有括號中的顯式參數。既然是因為靜態方法不和對象關聯,那么它就只能用同樣僅僅和類關聯而不和對象關聯的實例域,畢竟不是靜態的實例域在不同對象中基本上都是不同的嘛。


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

舉報

0/150
提交
取消

這一節例子里main函數的代碼中

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

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

幫助反饋 APP下載

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

公眾號

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