第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么普通成員方法可以直接訪問非靜態(tài)變量,而靜態(tài)方法不能直接訪問非靜態(tài)變量?

為什么普通成員方法可以直接訪問非靜態(tài)變量,而靜態(tài)方法不能直接訪問非靜態(tài)變量?

放__空 2016-09-22 01:25:07
那岂不是没有非静态变量和静态变量之分了,非静态变量也能被同类中的所有方法访问?
查看完整描述

7 回答

?
若不極致便平庸

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個贊

靜態(tài)變量在類被調(diào)用的時候,它就已經(jīng)存在了.地址名就是靜態(tài)變量名(換句話說就是類已經(jīng)幫你把它實(shí)例化好了,不用你再動手用對象去實(shí)例化了),所以普通成員方法(非靜態(tài)方法)和靜態(tài)方法都可直接訪問調(diào)用靜態(tài)變量.因?yàn)樗呀?jīng)創(chuàng)建好擺在那里了.然而非靜態(tài)變量與靜態(tài)變量不同的是它是虛無的,它需要對象去創(chuàng)建出來.所以沒辦法直接訪問.那問題來了,說沒辦法直接訪問,但為什么在普通成員方法中可以直接訪問非靜態(tài)變量呢?哈哈,你想一想,你如果想調(diào)用普通成員方法之前要干嘛?當(dāng)然要new一個對象出來啊,這個new出來的對象就幫你在實(shí)例化方法的同時,把方法中的非靜態(tài)變量也實(shí)例化了。(最后補(bǔ)充一句,被調(diào)用的類只是張圖紙而已,不要把類當(dāng)成程序)

查看完整回答
1 反對 回復(fù) 2016-10-07
  • 若不極致便平庸
    若不極致便平庸
    靜態(tài)變量和非靜態(tài)變量(成員變量)本質(zhì)上的不同有兩點(diǎn):第一點(diǎn),靜態(tài)變量從類被調(diào)用之初它就在內(nèi)存中找了一個位置住下了.而非靜態(tài)變量還在類這張圖紙上,虛無著,沒在內(nèi)存中找位置.只有當(dāng)一個對象去調(diào)用它,它才會在內(nèi)存中找一個位置住下. 第二點(diǎn),靜態(tài)變量在內(nèi)存中的位置住下了,所有的對象調(diào)用他都是在同一個內(nèi)存地址.所以當(dāng)有一個對象改變靜態(tài)變量值時,所有對象調(diào)用的靜態(tài)變量的值都跟著變.而成員變量不同,因?yàn)樗灰粋€對象調(diào)用就是一個新的不同的位置,A對象一個位置,B對象又是另一個位置,所以A只能改變A成員變量的值,B只能改變B成員變量的值,他們之間互不影響,因?yàn)槲恢貌煌?
?
大咪

TA貢獻(xiàn)785條經(jīng)驗(yàn) 獲得超332個贊

正如1L所說,你得普通方法對象對應(yīng)非靜態(tài)變量的時候可以說是一對一,就是都是在這一個對象里,而靜態(tài)方法去訪問非靜態(tài)變量就是一對多,因?yàn)殪o態(tài)方法是屬于類的,那你這個類里可以有多個對象呀,那假如我訪問的是我類中并沒有實(shí)例化的對象(內(nèi)存不存在的),那就會保存了呀……

查看完整回答
1 反對 回復(fù) 2016-09-22
  • 放__空
    放__空
    不懂,我的問題來源是看了java第二季的1-9 Java 中的 static 使用之靜態(tài)方法的第1,2個知識點(diǎn),
  • 大咪
    大咪
    要是剛學(xué)習(xí)的話是不太好理解,暫時就先當(dāng)做概念記吧,要是記不住的話就可以先記住實(shí)例的定義方法,就是你說的1-9的那個例子,調(diào)用錯了無非就是會報錯唄。。。等以后學(xué)的多了再回來思考思考自然而然就懂了
  • 放__空
    放__空
    好吧,謝謝
點(diǎn)擊展開后面1
?
weixin_慕桂英2009959

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個贊

1.靜態(tài)方法和靜態(tài)變量在類初始化時已經(jīng)分配內(nèi)存,已經(jīng)存在,因此隨時可以調(diào)用。2.非靜態(tài)方法和非靜態(tài)變量在類初始化時不存在,只有類實(shí)例化成對象時才分配內(nèi)存而存在。3.普通成員方法可以調(diào)用靜態(tài)和非靜態(tài)變量,調(diào)用靜態(tài)原因看第一條;普通成員方法在調(diào)用非靜態(tài)變量時,必須先滿足實(shí)例化才能調(diào)用普通成員方法,一旦實(shí)例化,那非靜態(tài)變量也就分配到內(nèi)存了(原因看第二條)。所以系統(tǒng)不擔(dān)心你在普通成員方法中調(diào)用非靜態(tài)變量,因?yàn)槟阋闷胀ǔ蓡T方法的前提就是實(shí)例化,實(shí)例化就滿足了第二條規(guī)則。

查看完整回答
反對 回復(fù) 2019-04-12
?
別惹IT男

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超1個贊



我同意一樓的答案

查看完整回答
反對 回復(fù) 2016-10-02
?
qq_晝綻_0

TA貢獻(xiàn)82條經(jīng)驗(yàn) 獲得超17個贊

因?yàn)榧虞d順序,靜態(tài)方法先加載,當(dāng)然拿不到

查看完整回答
反對 回復(fù) 2016-09-22
?
7842659

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個贊

我理解的是, 因?yàn)殪o態(tài)的 比 非靜態(tài)的 先加載到內(nèi)存,所以靜態(tài)加載完了,非靜態(tài)太的在加載, 靜態(tài)的掉不到非靜態(tài)的東西,因?yàn)榉庆o態(tài)的還沒有加載到內(nèi)存

查看完整回答
1 反對 回復(fù) 2016-09-22
  • 若不極致便平庸
    若不極致便平庸
    額,你這個理解不對,不是靜態(tài)比非靜態(tài)先加載到內(nèi)存,而是非靜態(tài)的東西在沒有對象調(diào)用他們之前根本不加載到內(nèi)存。
?
ziom

TA貢獻(xiàn)948條經(jīng)驗(yàn) 獲得超1109個贊

因?yàn)榉庆o態(tài)成員屬于對象,靜態(tài)成員屬于類。

查看完整回答
1 反對 回復(fù) 2016-09-22
  • 7 回答
  • 2 關(guān)注
  • 4135 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號