luxuhong
2016-10-25 17:35
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();不对 请问应该怎么改正?
在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;
*/
}
this代表的是对象,this.方法()代表对象的方法。所以前面不用加对象名。你这里直接去掉this即可。
首先this必须要放在方法中第一行才符合规范。还有你前面两个方法的规则也不对,语法没错,但是使用规则不对当然就不能用,首先你要理解this的概念,this的意思是方法中包含一个参数,本类中有一个属性的名称和参数是一样的,避免混淆才使用this区分开。 你这里不存在这种情况,所以不需要使用this
Java入门第二季 升级版
530646 学习 · 6091 问题
相似问题