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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于方法內(nèi)部類的變量問題

在這種程序中有三層變量,分別是外部類中聲明的成員變量、外部類的方法中的局部變量、該方法中的方法內(nèi)部類中聲明的該類的成員變量;

假設(shè)在該方法內(nèi)部類中的方法對(duì)這三層變量都要調(diào)用:

1。要是這些變量都沒有重名的,如何調(diào)用?

2、要是這三層的變量中都有重名的,如何調(diào)用并區(qū)分開?


正在回答

4 回答

根據(jù)之前看到的關(guān)于成員變量和局部變量的介紹中我還看到了這樣一句話“局部變量是在類的方法中定義,在方法中臨時(shí)保存數(shù)據(jù)”,也就是說這個(gè)方法中的變量是臨時(shí)性的,還有我看了其他人關(guān)于這方面的解答,他們是這樣說的“

方法中的變量是一個(gè)局部變量,局部變量是儲(chǔ)存在棧內(nèi)存中,當(dāng)方法結(jié)束后(彈棧),這個(gè)變量就消失了(方法就消失了),所以內(nèi)部類可能沒辦法讀取到這個(gè)變量.順便說下 如果你完全是自己照著imooc里面的教程學(xué)的,你估計(jì)看不懂我說的,因?yàn)閕mooc到第二季還沒提到過內(nèi)存方面的內(nèi)容.(我也是不懂,自己找資料學(xué)的)

我想他的意思也就是那個(gè)方法中的變量可能就是一個(gè)臨時(shí)變量,數(shù)據(jù)不能一直保存,所以方法內(nèi)部類無法調(diào)用吧,我是這么理解的,希望能幫到你。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

wswzh0329 提問者

。。局部變量是臨時(shí)性的沒錯(cuò),但是類在方法中,調(diào)用那個(gè)局部變量的時(shí)候也是屬于在方法的執(zhí)行中吧,方法沒有結(jié)束,這個(gè)局部變量還是應(yīng)該存在的?
2015-10-06 回復(fù) 有任何疑惑可以回復(fù)我~
#2

wswzh0329 提問者

。。還有 如果其他三層的變量中沒有相同的變量名,在內(nèi)部類方法中直接用(變量名)就能調(diào)用那個(gè)局部變量了不是嗎?說明應(yīng)該是能夠被內(nèi)部類調(diào)用的!
2015-10-06 回復(fù) 有任何疑惑可以回復(fù)我~
#3

wswzh0329 提問者

非常感謝!
2015-10-18 回復(fù) 有任何疑惑可以回復(fù)我~
#4

wswzh0329 提問者

。。不知道你搞懂沒,現(xiàn)在回來看發(fā)現(xiàn)能夠理解回答你的那個(gè)人說的了,方法中的局部變量在這個(gè)方法執(zhí)行完畢之后就消失了,但是內(nèi)部類或者說內(nèi)部類的對(duì)象仍然存在,只要還有引用指向這個(gè)內(nèi)部類對(duì)象,那么該對(duì)象就不會(huì)被釋放,而此時(shí)要用到的局部變量已經(jīng)不存在了,所以就會(huì)出錯(cuò)!只有final的局部變量的作用域跟該類的作用域一樣!
2015-10-18 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

。。這是我自己在eclipse上面嘗試的結(jié)果

package com.shiyan2;


import com.shiyan3.Test.Inner;


public class Shiyan {


/* //普通方法中的內(nèi)部類的調(diào)用

? ? static int a=2; ? ? //可以通過(Shiyan.this.a)和(Shiyan.a)和(new Shiyan().a)調(diào)用;要是沒有相同的還能用(a)來調(diào)用

? ?int b=7; ? ? //普通變量 ? ? 可以通過(Shiyan.this.b)和(new Shiyan().b)來調(diào)用;要是沒有相同的話可以用(b)來調(diào)用;

? ?

? ?public void print(){

?int b=2; ? ? ? ? ? ? ?//方法中的變量不能設(shè)為public

?//該如何調(diào)用??????????

?class Inner{

?public int ?c=4; //方法內(nèi)部類中的成員變量可以設(shè)置為public

? ? ?public int b=6; ?//(this.b)和(new Inner().b)來調(diào)用

?public void print(){

? int d=4;?

? int c=5;//為什么默認(rèn)的friendly可以,更加私有的private不可以,只能用final????????

?System.out.println(new Shiyan().a);

?System.out.println(Shiyan.this.b);

?System.out.println(this.c);

?System.out.println(d);

?}

?

?}

Inner in=new Inner();

in.print();

??

? ?}*/


/*//靜態(tài)方法中的內(nèi)部類 ? ?注:內(nèi)部類中的方法只能是普通方法

public int a=1; ? ? ?//只能(new Shiyan().a)來調(diào)用

public static int A=3;//(Shiyan.A)和(new Shiyan().A)和(Shiyan.this.A) 要是沒有相同的還能用(A)

public static void print(){

int b=2; ? ? ?//位移的變量形式,要么設(shè)為final常量

//要是有相同的b,如何取這個(gè)b的值??????????????????

class Inner{

public ?int c=8; ? ?//只能是普通方法

? ? ? ? ? ? ? ? ? //(this.c)和(new Inner().c)來調(diào)用;要是沒有相同的,還能(c);

public ?void print(){ ? //只能是普通方法,靜態(tài)方法就會(huì)報(bào)錯(cuò)!

int d=4; ? //唯一的變量形式,理由跟上面的b相同

int c=4;

System.out.println(Shiyan.this.A); ?//為什么可以用?

System.out.println(b);

System.out.println(this.c);

System.out.println(d);

}

}

Inner in=new Inner();

in.print();

}

*/

//測(cè)試類

/*

? ?public static void main(String[] args) {

Shiyan test=new Shiyan();

test.print();

}*/

}


0 回復(fù) 有任何疑惑可以回復(fù)我~

恩恩,你說的對(duì),我再去找書看看去,你要是找到了麻煩記得告訴我一下,謝了哈!

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

wswzh0329 提問者

。。你有找到答案嗎
2015-10-06 回復(fù) 有任何疑惑可以回復(fù)我~

我是根據(jù)你的問題自己敲代碼試的,所以可能有些不對(duì)的還請(qǐng)見諒。

1,如果三層變量都不相同,可以直接調(diào)用,如:a,b,c,則直接+a,+b,+c,即可。

2,如果三層變量都為a,在調(diào)用時(shí)如果只寫+a,則只會(huì)調(diào)用該方法的方法內(nèi)部類中聲明的該類的成員變量,也就是最底下那層,如果想調(diào)用外部類中聲明的變量,則可以使用:(外部類名.this.變量名)這種形式即可,但是調(diào)用外部方法中的局部變量我也不知道了,希望有其他大神看到了能幫忙解決一下。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

wswzh0329 提問者

。。非常感謝你的解答! 其實(shí)今天回頭一想發(fā)現(xiàn)有四層變量,外部類的成員變量、方法中的局部變量、該方法中的內(nèi)部類的成員變量、內(nèi)部類的方法中的局部變量, 不過類內(nèi)的變量調(diào)用應(yīng)該跟前面學(xué)到的一樣調(diào)用,就是在類內(nèi)部成員變量跟局部變量的調(diào)用; 然后外部類的成員變量應(yīng)該(是new Outer().變量名)和(外部類名.this.變量名)都可以; 剩下的外部類方法中的局部變量還是調(diào)用不出來。。。
2015-10-06 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

關(guān)于方法內(nèi)部類的變量問題

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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