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

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

成員變量和局部變量重名問題

老師,當局部變量和成員變量重名的時候,說是優先選擇局部變量! 但是 你是調用的 類中的方法,那輸出來的按順序下來 也是先從類中方法走呀! 這點不是很明白!

正在回答

2 回答

云承寒說的對, 可以用就近原則區分, 也可以表述成局部變量和成員變量主要的區別還是作用域的不同,

你要明白,成員變量的作用域是整個類內部任何一個地方,而局部變量的作用域則是定義它的方法體內部,當然如果你是定義在某一方法體內部的某一程序塊(for循環或者if判斷等)內,則它的作用于就是這一程序塊。

其他深入的,你暫時可以先不了解,你記住每個變量或者說每個方法等都有他的作用域就行

不知道這樣解釋你明不明白。謝謝,歡迎追問

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

JAVA小白520 提問者

public static void main(String[] args) { testday1 a=new testday1(); a.cell(); } public class testday1 { int b=20;//成員變量 void cell(){ int b=10;//局部變量, 當成員變量和局部變量重名的時候則優先選擇局部變量。 } 比如這個代碼,我在main里面調用了cell方法 它調用的是int b=10; 是不是先走類方法里面 然后才走方法外面,這個是不是就是你們說的就近原則?
2015-12-03 回復 有任何疑惑可以回復我~
#2

慕冬雪 回復 JAVA小白520 提問者

局部變量和成員變量不是一個變量。在main里面調用了cell方法 它調用的是int b=10;操作的是局部變量,這個時候成員變量并沒有參與。關于你那個成員變量, 并沒有被加載,至于原因, 你去百度下java類加載順序吧。
2015-12-03 回復 有任何疑惑可以回復我~
#3

JAVA小白520 提問者 回復 慕冬雪

好的 謝謝!
2015-12-03 回復 有任何疑惑可以回復我~
#4

dlfm 回復 慕冬雪

大神,可以搭便車問個問題嗎?因為我單獨問的時候得到的答案都不是很明白。 本教程視頻中,為什么建了2個Class?我知道可以自行按照自己習慣只建立一個,但是既然老師這樣操作肯定有原因, 我看到視頻老師好像一個類是專門調用的,另一個是專門放了方法等。能否請教一下?
2016-05-24 回復 有任何疑惑可以回復我~
查看1條回復

有一個原則叫做就近原則,只要你能訪問到,哪個聲明的地方離你近就使用的哪個, 如果要訪問成員變量, 用this.

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

JAVA小白520 提問者

可以舉個例子嗎?
2015-12-01 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

成員變量和局部變量重名問題

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

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

幫助反饋 APP下載

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

公眾號

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