一、成员内部类
1、成员内部类可以访问外部类所有属性和方法;
2、若成员内部类拥有和外部类同名的成员变量或方法,默认访问内部类的;若要访问外部类的需使用this关键字;
3、外部类想要访问内部类需要先创见内部类对象;
4、内部类是依附外部类存在的,也就是说,若想要在其他类中创建内部类对象,需要先创建外部类对象:
1 Outter outter = new Outter(); 2 Outter.Inner inner = outter.new Inner();
5、内部类可以被多种权限修饰,外部类则只能被public和包访问权限修饰;
二、局部内部类
1、局部内部类和成员内部类区别在于局部内部类只能作用于方法内或一个作用域内;
2、局部内部类不能被权限修饰符修饰;
三、匿名内部类
可以在实现父类或接口的同时产生一个对象,不能加修饰符和static
四、静态内部类
不能访问外部类中非静态的资源。