问答详情
源自:7-6 Java 中的成员内部类

请检查代码中是否匹配: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();

}


提问者:weibo_关红蕊_0 2015-12-11 16:43

个回答

  • 惫懒sloth
    2015-12-11 17:38:45
    已采纳

    //外部类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 形式的

  • 七许夏至
    2015-12-11 17:30:34

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

  • RockenRoll
    2015-12-11 17:17:28

    最后好像少了个大括号  }