访问格式
1、当内部类定义在外部类的成员位置上而且非私有可以在外部其他类中可以直接建立内部类对象
格式:外部类名.内部类名 变量名=外部类对象.内部类对象;
Outer.Inner in=new Outer().new Inner();
2、当内部类在成员位置就可以被成员修饰符所修饰
比如 private:将内部类在外部类中进行封装
static: 内部类就具备static的特性
当内部类被static修饰后只能直接访问外部类中的static成员,出现了访问局限
在外部其他类中如何直接访问static内部类的非静态成员呢?
new Outer.Inner().function();
在外部其他类中如何直接访问static内部类的静态成员呢?
Outer.Inner().function();
注意:当内部类中定义了静态成员 该内部类必须是static的
当外部类中的静态方法访问内部类时 内部类也必须是static的
内部类定义在局部时
1、不可以被成员修饰符修饰
2、可以直接访问外部类中的成员,因为还持有外部类中的引用,但是不可以访问它所在的局部中的变量。只能访问被final修饰的局部变量 |