package com.imooc.org; public class HelloWorld { //外部类的私有属性name private String name = "imooc"; // static //外部类的成员属性 int age = 20; public void show(){ //成员内部类Inner int age = 35; class Inner { String name = "爱慕课"; int age = 50; //内部类中的方法 public void show() { System.out.println("外部类中的name:" + new HelloWorld().name ); System.out.println("内部类中的name:" +name ); System.out.println("外部类中的age:" +age);//这里如何让age = 35 ? } } Inner inn = new Inner(); inn.show(); } //测试成员内部类 public static void main(String[] args) { //创建外部类的对象 HelloWorld o = new HelloWorld (); //创建内部类的对象 // Inner inn =new Inner(); ; //调用内部类对象的show方法 o.show(); } }
final 加一个
?同问,我也想到了这个问题
第19行改为
System.out.println("外部类中的name:" + HelloWorld.this.name );
第21行中age是HelloWorld类的方法中的局部变量,并不是外部类HelloWorld中的age
如果要使用外部类中的age,则是HelloWorld.this.age获取到
不需要new
gg 不符合java语法规定吧,,,确实获取不到 ,,网上说不符合java语法