1.内部类是指一个类内部包含另一个类,分为成员内部类和局部内部类,局部内部类包含匿名内部类。
2.内部类可以随意访问外部类,外部类访问内部类时需要通过内部类对象。
3.局部内部类是定义在方法内部的,出了这个方法就不能用了
4.外部类的修饰符只能是public和default。
5.成员内部类的修饰符可以是public,protected,default,private。
6.局部内部类什么都不能写,但不是default。
7.局部内部类需要访问所在方法的局部变量时,该变量需要用final修饰,从java8开始,只要局部变量的值事实不变,那么final可以省略。其原因是普通变量的生命周期是和该方法一致的,而局部内部类对象可能永久存在堆区,所以该变量的周期需要和局部内部类对象周期保持一致,所以用final修饰。
8.匿名内部类