获取内部类实例对象的方式:
方式一:
Outer.Inner inner = new Outer().new Inner();
方式二:
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
方式三: Outer定义一个get方法, getInner获取
内部类注意点:
- 内部类在外部使用时,无法直接实例化,必须要借助外部类信息才能实例化。
- 内部类访问修饰符可以任意,但是访问范围会受到影响。
- 内部类可以直接使用外部类的成员,包括成员属性和成员方法。(如果同名属性,优先使用内部类的)
- 可以使用 外部类.this.属性 的方式访问外部类同名的属性。
- 外部类访问内部类信息,需要实例化内部类,通过内部实例访问,无法直接访问。
- 内部类编译后的class文件命名:外部类$内部类.class