实例内部类
直接定义在类中的,在类的前面没有任何一个修饰符,是属于对象的,而不是属于类的
在实例内部类中不能有静态成员,因为内部类是属于对象的,不是属于类的
静态内部类
在内部类的前面加上一个 static
不需要创建外部类对象的,就可以直接使用,直接用 外部类名.xxx
就可以使用
在静态类中是没有外部类的引用的
静态内部类是可以访问外部类的静态成员的
局部内部类
定义在方法内的内部类
不能使用一些修饰 public
private
...
只能在定义的方法中使用
不能包含静态变量
可以包含局部变量,使用的变量的本质是 final
匿名内部类
一种局部内部类的特殊情况
匿名内部类必须要有父类或者实现的接口
外部类是不能直接访问内部类中的成员的
内部类可以直接访问外部类的成员