为了账号安全,请及时绑定邮箱和手机立即绑定

请检查代码中是否匹配:System.out.println("外部类中的name:" + HelloWorld.this.name );

//外部类HelloWorld

public class HelloWorld{

    

    //外部类的私有属性name

    private String name = "imooc";

    

    //外部类的成员属性

    int age = 20;

    

//成员内部类Inner

public class Inner {

String name = "爱慕课";

        //内部类中的方法

public void show() { 

System.out.println("外部类中的name"+HelloWorld.this.name );

System.out.println("内部类中的name:" + name                 );

System.out.println("外部类中的age:" + age);

}

}

    

//测试成员内部类

public static void main(String[] args) {

        

        //创建外部类的对象

HelloWorld o = new HelloWorld (); 

        

        //创建内部类的对象

Inner inn =o.new Inner();

        

        //调用内部类对象的show方法

inn.show();

}


正在回答

4 回答

//外部类HelloWorld
public class HelloWorld
{

    // 外部类的私有属性name
    private String name = "imooc";

    // 外部类的成员属性
    int age = 20;

    // 成员内部类Inner
    public class Inner
    {
        String name = "爱慕课";

        // 内部类中的方法
        public void show()
        {
            System.out.println("外部类中的name" + HelloWorld.this.name);
            System.out.println("内部类中的name:" + name);
            System.out.println("外部类中的age:" + age);
        }
    }  
  
    // 测试成员内部类
    public static void main(String[] args) {
          
          //创建外部类的对象
        HelloWorld o = new HelloWorld (); 
          
          //创建内部类的对象
        Inner inn =o.new Inner();
          
          //调用内部类对象的show方法
        inn.show();
    }
} \\<--********这里少了个大括号*********

由于外部类和内部类的属性名称是一样的,在内部类中想要调用外部类的属性,的确是需要写成  这种 HelloWorld.this.name 形式的

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

weibo_关红蕊_0 提问者

非常感谢!
2015-12-11 回复 有任何疑惑可以回复我~

main()方法应该写在HelloWorld类中

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

最后好像少了个大括号  }

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

举报

0/150
提交
取消

请检查代码中是否匹配:System.out.println("外部类中的name:" + HelloWorld.this.name );

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信