JAVA内部类的四大作用
1. 可以无条件地访问外围类的所有元素
内部类虽然和外部类编译完成后, 生成各自的class文件。但是内部类通过this访问外部类的成员,因为:编译器自动为内部类添加一个成员变量, 这个成员变量是指向外部类对象(this)的引用;编译器自动为内部类的构造方法添加一个参数,参数的类型是外部类的类型;在调用内部类的构造函数初始化内部类对象时,会默认传入外部类的引用。
2. 可以对同一包中的其他类隐藏起来
外部类不能使用 private protected 访问权限符来修饰的,而内部类则可以使用 private 和 protected 来修饰,当我们使用 private 来修饰内部类的时候这个类就对外隐藏了。
3. 可以实现多重继承
我们可以利用内部类去继承多个类。
4. 通过匿名内部类来优化简单的接口实现
我们常见的点击事件的写法就是这样的。