概念:在类、方法或语句块中定义的类;
成员式内部类:在类中定义的类
局部内部类:定义在方法体或语句块中的类;
匿名内部类:可以看成是一种特殊的内部类,不需要定义变量名,必须继承一个父类或实现一个借口;
使用内部类的主要原因有:
内部类可以访问外部类中的数据,包括私有的数据。
内部类可以对同一个包中的其他类隐藏起来。
当想要定义一个回调函数且不想编写大量代码时,使用匿名(anonymous)内部类比较便捷。
减少类的命名冲突。
非static修饰的:
内部类--> 外部类 直接访问
外部类--> 内部类 外部对象-->内部对象-->对象调用访问
static修饰的:
内部类--> 外部类 直接访问外部的静态数据
外部类--> 内部类 类名.访问数据名