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

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

this關(guān)鍵字

沒使用this關(guān)鍵字

package com.imooc;

//import com.imooc.second.people;

public class packAge {

? ?private int Eyes;

? ?private int nose;

? ?private int ears;

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

? packAge hello = new packAge();

? hello.seteyes(5);

int aa= ? hello.geteyes();

? ?System.out.println("Eyes:"+aa);

? ?}


public int geteyes(){

return Eyes;

}

public void seteyes(int Eyes){

? Eyes=Eyes;

}

}

運行結(jié)果:

Eyes:0

使用this關(guān)鍵字

this. Eyes=Eyes;

運行結(jié)果:

Eyes:5

我想請問出現(xiàn)0的情況是怎么回事?

正在回答

3 回答

沒有使用this關(guān)鍵字,你的set方法里邊的賦值是沒有意義的,它相當(dāng)于把一個set 方法里的一個私有變量 Eyes等于自己的值,而整個類里邊的全局變量Eyes并沒有被賦值,當(dāng)你打印的時候,它還是用的自己初始化的默認值0。

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

慕仰9213596 提問者

非常感謝!
2017-08-21 回復(fù) 有任何疑惑可以回復(fù)我~
#2

魂千瀧

hello.seteyes(5);這代表什么含義?
2017-11-02 回復(fù) 有任何疑惑可以回復(fù)我~
#3

魂千瀧 回復(fù) 魂千瀧

明白了
2017-11-02 回復(fù) 有任何疑惑可以回復(fù)我~
#4

慕婉清6441602

回答真棒
2018-02-23 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

方法是放在方法區(qū)的,方法只有那么一個,但是會調(diào)用它的對象會很多,在該代碼中this強調(diào)是當(dāng)前對象調(diào)用了方法,沒有this,就不知道是誰調(diào)用了方法。ps:左邊的Eyes是屬性,右邊的是變量,變量由形參傳入數(shù)據(jù)。

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

慕仰9213596 提問者

謝謝!
2017-08-21 回復(fù) 有任何疑惑可以回復(fù)我~

public void seteyes(int Eyes){

? Eyes=Eyes;

}

這里你改變 的 Eyes 只是 該方法里面的 Eyes 變量

public void seteyes(int Eyes){

? this.Eyes=Eyes;

}

改變的是 this.Eyes 這個屬性?

之所以 Eyes = 0 ,是因為方法的Eyes 變量 和 Eyes 屬性的變量名重復(fù)了,方法優(yōu)先選擇Eyes

所以,你可以試試

public void seteyes(int a){

? Eyes=a;

}

這時候輸出 Eyes = 5 ;

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

慕仰9213596 提問者

謝謝!
2017-08-21 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學(xué)習(xí)       531215    人
  • 解答問題       6327    個

課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙

進入課程

this關(guān)鍵字

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

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

幫助反饋 APP下載

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

公眾號

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