内部类虽然和外部类编译完成后, 生成各自的class文件。但是内部类通过this访问外部类的成员,因为:编译器自动为内部类添加一个成员变量, 这个成员变量是指向外部类对象(this)的引用;编译器自动为内部类的构造方法添加一个参数,参数的类型是外部类的类型;在调用内部类的构造函数初始化内部类对象时,会默认传入外部类的引用。

2. 可以对同一包中的其他类隐藏起来

外部类不能使用 private protected 访问权限符来修饰的,而内部类则可以使用 private 和 protected 来修饰,当我们使用 private 来修饰内部类的时候这个类就对外隐藏了。

3. 可以实现多重继承

我们可以利用内部类去继承多个类。

4. 通过匿名内部类来优化简单的接口实现

我们常见的点击事件的写法就是这样的。

相关文章:

  • 2021-11-19
  • 2021-11-13
  • 2022-12-23
  • 2022-12-23
  • 2021-09-27
猜你喜欢
  • 2021-11-25
  • 2022-12-23
  • 2022-12-23
  • 2021-06-09
  • 2021-05-21
  • 2022-12-23
相关资源
相似解决方案