真不知道怎么说了。
就说下面错误的代码吧:
Outer oo = new Outer();//创建了一个oo对象。
oo.Inner = new oo.Inner() // oo也就是一个变量名了。 所以编译过不去。
正确代码如下:
Outer.Inner i1= new Outer().new Inner();
内部类 ; 讲一个类定义在另一个类的里面
访问规则: 内部类可以直接访问外部类中成员,包括私有,
因为内部类持有一个外部类的引用,该引用写法,格式:Outer.this
外部类要访问内部类,必须要建立对象
内部类可以被私有
访问格式:
当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中
可以直接建立内部对象
格式:
外部类名.内部类名 变量名 = 外部类对象.内部类对象;
Outer.Inner in = new Outer().new Inner();
|