class Outer { private static int index=100; class Inner { private int index=50; void print() { int index=30; System.out.println(index); System.out.println(this.index); System.out.println(Outer.this.index); } } void print() { Inner inner=new Inner(); inner.print(); } Inner getInner() { return new Inner(); } }
class Test { public static void main(String[] args) { Outer outer=new Outer(); Outer.Inner inner=outer.getInner(); inner.print(); } }
(4)用new Inner( )来代替getInner()的方法,编译并更改错误。
class Outer { private static int index=100; class Inner { private int index=50; void print() { int index=30; System.out.println(index); System.out.println(this.index); System.out.println(Outer.this.index); } } void print() { Inner inner=new Inner(); inner.print(); } Inner getInner() { return new Inner(); } }
class Test
{
public static void main(String[] args) { Outer outer=new Outer(); Outer.Inner inner=outer.new Inner(); inner.print(); } }
注:在这里我们可以把内部类Inner看成外部类Outer中的一个成员变量或者方法来理解。 (5)在Outer类中,添加一个fn的方法,并将Inner类放入,编译查看错误。

