1.当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中。可以直接建立内部类对象。
格式:
外部类名.内部类名变量名 =外部类对象.内部类对象;
Outer.Inner in = newOuter().new Inner();
2.当内部类在成员位置上时,就可以被成员修饰符所修饰。
比如,private:将内部类在外部类中进行封装。
static:内部类就局部static的属性。
当内部类被static修饰后,只能直接访问外部类中的static成员,出现了访问局限。
3.当内部类定义在局部时,不可以被成员修饰符修饰,可以直接访问外部类中的成员,因为还持有外部类中的引用,但是不可以访问所在局部中的变量,只能访问被final修饰的局部变量。 |