1:允许把逻辑相关的类组织在一起
2:想从外部类的非静态方法 之外的任意位置创建某个内部类的对象,对象的类型必须Outer.Inner
3:内部类还拥有其外围类的所有元素访问权
4:方法内定义内部类,在此方法之外不能访问内部类的
5:作用域之外是不可以使用内部类的
6:匿名内部类:要想调用匿名内部类里的东西必须进行重写或者是实现某个接口
7:匿名内部类,希望使用其外部定义的对象,那么编译器要求其参数引用是final的
8:嵌套类内部类声明为static,普通的内部类不能有static数据和static字段,也不能包含嵌套类,但嵌套类可以
9:嵌套类中的main函数可以测试类[接口中嵌套类中main函数,普通类中嵌套类中main方法]
为什么需要内部类?