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

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

屬性加不加static有什么區別,不都是類的屬性嘛兒

1-2的時候不加static的時候老師說定義的變量是類的屬性啊?,F在加上static怎么還是類的屬性啊。那倆者還有什么區別?。??

正在回答

4 回答

你要明白整個流程你就明白他的區別。靜態屬性 靜態方法是一開始就已經創建在內存中了,而普通的方法屬性是實例化的時候動態分配內存空間的。

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

不加static 我理解為'對象屬性',只有實例化對象出來后,才能使用這些屬性;加了static,就是'類屬性',不需要實例化對象就可以直接使用了;

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

一切都是為了偷懶。

你定義了一個‘人類’:這個人類有2條腿(正常人),這是屬性;會走路,會說話,這是方法、行為。

定義了這個人類后,你將來要用的。用的時候,你把這個抽象的類變成了一個具體的實例(new對象),比如‘麻花疼’。有一天,你說麻花疼這臭不要臉的又騙了我很多錢,我要派人砍他幾條腿去!砍幾條?一個人有幾條腿?這時你可以用$麻花疼->腿,麻花疼的腿的屬性來得到這個值。很顯然的,你安排小弟去給麻花疼卸3條腿是不對的,小弟會給你報錯的。

有一天你又說小李子的百度坑人上當、干盡壞事,也給他卸幾條腿!卸幾條?你new 人類(‘李彥宏’);$李彥宏->腿,之后你知道小李子有幾條腿了。

到這里你發現里面的問題了,要知道一個正常人有幾條腿,沒必要具體到張三李四王二麻子,轉一圈再轉回來。直接從沒有實例化的‘人類’里取就行了。比如腿這個屬性,因為是常識性的,所有人都一樣的,所以定義類的時候直接定義就行了,前面加一個關鍵字static來表明它的與眾不同。

用的時候沒有必要實例化,你懂了吧。

怎樣用?人類->腿,這樣用?

這是錯誤的,“->”符號是給具體的對象用的。

沒有具體的對象,直接從類中取值,要用“::”符號: 人類::腿。

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

加上static是累的靜態屬性,不加則是普通屬性,靜態屬性不需要實例化類就可以調用,普通屬性必須實例化類后才能調用。

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

舉報

0/150
提交
取消

屬性加不加static有什么區別,不都是類的屬性嘛兒

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

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

幫助反饋 APP下載

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

公眾號

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