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

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

靜態與非靜態調用問題。

看過這節課后,有些疑問,求會的小伙伴們幫忙解答一下。
問題如下:
????a.這節課中,看到了“靜態成員”四個字字,而不是靜態變量或者靜態方法。
????疑問1:“成員”的意思是不是變量和方法的統稱,還是單獨只指代變量,不包含方法?
????b.本節課老師講了“靜態訪問靜態或非靜態”,“普通訪問靜態或非靜態”。
????疑問2:那么,“非靜態訪問靜態或者非靜態”呢??
????c.靜態和非靜態關鍵字就在static,用它來區分。
????疑問3:那么,除了訪問方式不同,變量或者方法是否被static修飾,兩者有什么本質上的意義嗎?

正在回答

3 回答

這位同學很善于思考啊,我來回答一下

  1. 靜態成員包含靜態變量和方法,是所有用static修飾的東西的統稱

  2. 非靜態可以任意訪問本類(注意是本類?。┲械乃谐蓡T變量和所有方法

  3. 靜態和非靜態的本質就比較深了,涉及到java的內存處理和垃圾回收機制,你可以這樣理解,靜態和非靜態所存儲的位置是不同的,靜態成員都存在靜態池中,不可回收,只要程序運行起來就一直存在,非靜態只有在用到是才創建,用完了就被回收了,所以程序中要盡量少用靜態的東西,否則程序會越來越卡,因為靜態占用了太多內存。

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

統稱吧

在同類中,靜態方法可以直接調用靜態成員但是不能調用非靜態成員,如果想調用非靜態成員,可以先創建類的對象,然后通過對象來訪問非靜態成員。普通方法可以調用靜態和非靜態的變量

至于最后一個,個人感覺不同之處就是訪問方式的不同吧

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

互相交流,希望不要嫌棄,回答全部來自老師的講義。

a. 1-4節中講了成員變量和局部變量,此時的成員是指成員變量的意思,變量似乎有幾哥叫法,其中還有一個叫屬性

在類中一般全部變量,稱為成員變量,局部變量稱為變量,在類的對象中,成員變量通常稱為對象的屬性

b.? 1.9 Java 中的 static 使用之靜態方法

“靜態訪問靜態或非靜態”指靜態方法訪問靜態成員變量和非靜態成員變量

“普通訪問靜態或非靜態”指普通成員方法訪問靜態成員變量和非靜態成員變量

“非靜態訪問靜態或者非靜態”指的就是普通成員方法訪問靜態成員變量和非靜態成員變量

老師講過

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

在普通成員方法中,則可以直接訪問同類的非靜態變量和靜態變量

c.?那么,除了訪問方式不同,變量或者方法是否被static修飾,兩者有什么本質上的意義嗎?

Java 中被 static 修飾的成員稱為靜態成員或類成員。它屬于整個類所有,而不是某個對象所有,即被類的所有對象所共享。

其實個人并不太理解static修飾符,下面這句話似乎好像可以加深下理解,其實還是用的少,寫了項目了我們的理解會更深層的

大家都知道,我們可以基于一個類創建多個該類的對象,每個對象都擁有自己的成員,互相獨立。然而在某些時候,我們更希望該類所有的對象共享同一個成員。此時就是 static 大顯身手的時候了?。?/font>

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

觀小呆 提問者

“非靜態訪問靜態或者非靜態”等于“普通訪問靜態或者非靜態”呀?哦,好的,謝謝。 那個static,最后一句話,我們更希望該類所有的對象共享同一個成員,那么共享非靜態變量不行嗎?一定要共享被static修飾的變量嗎?
2019-04-10 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

靜態與非靜態調用問題。

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

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

幫助反饋 APP下載

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

公眾號

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