定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );
上面这句话,还有涉及到代码中为什么内部类定义为Inner inn=o.new Inner();
友情提示哦:
1、 外部类是不能直接使用内部类的成员和方法滴
可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。
2、 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。
可以这样理解,内部类相当于嵌套在外部类中的一个类,你想创建一个内部类的对象就必须经过外部类对象的来实现
你就把内部类当成外部类的一个普通成员变量(而且本来就是个意思),把内部类的构造方法当成一个普通的方法(构造方法本来就是一种特殊的方法)。
那么 成员变量=外部类对象.方法; 就对应 Inner inn=o.new Inner();