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

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

外部類的this關鍵字用法

package two.com;


public class Demo02 {//外部類

public void show(){

System.out.println("你好!");

}

public class Demo002{//內部類

public void show(){

System.out.println("nihao!");

}

}

public static void main(String[] args) {

Demo02 hello=new Demo02();

Demo002 hello2=hello.new Demo002();

hello.this.show();

}

}

最后的hello.this.show();不對 ? ?請問應該怎么改正?

正在回答

3 回答

在main方法里想調用內部類的方法直接用 hello2.show();即可,想調用外部類的方法直接用hello.show();

這里你的意思估計是想在內部類中 調用外部類的方法,用法是Demo02.this.show();

具體代碼如下:

public class Demo02 {// 外部類

public void show() {

System.out.println("你好!");

}


public class Demo002 {// 內部類

public Demo002(){

Demo02.this.show();

}

public void show() {

System.out.println("nihao!");

}

}


public static void main(String[] args) {

Demo02 hello = new Demo02();

Demo002 hello2 = hello.new Demo002();

/*hello.show();

hello2.show(0;

*/

}


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

Java初學者12138

這里我用了一個內部類的構造方法來運行內部類調用外部類方法。
2016-10-25 回復 有任何疑惑可以回復我~
#2

luxuhong 提問者

意思就是說 內部類想要調用外部類方法,必須在內部類里才可以嗎?
2016-10-25 回復 有任何疑惑可以回復我~
#3

Java初學者12138 回復 luxuhong 提問者

你也說了,是內部類調用外部類方法。既然是內部類調用外部類方法,當然是在內部類里面了。
2016-10-25 回復 有任何疑惑可以回復我~
#4

luxuhong 提問者

非常感謝!
2016-10-25 回復 有任何疑惑可以回復我~
查看1條回復

this代表的是對象,this.方法()代表對象的方法。所以前面不用加對象名。你這里直接去掉this即可。

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

luxuhong 提問者

非常感謝
2016-10-25 回復 有任何疑惑可以回復我~

首先this必須要放在方法中第一行才符合規范。還有你前面兩個方法的規則也不對,語法沒錯,但是使用規則不對當然就不能用,首先你要理解this的概念,this的意思是方法中包含一個參數,本類中有一個屬性的名稱和參數是一樣的,避免混淆才使用this區分開。 ?你這里不存在這種情況,所以不需要使用this

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

舉報

0/150
提交
取消

外部類的this關鍵字用法

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

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

幫助反饋 APP下載

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

公眾號

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