面试题-谈谈对成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用?

谈谈对成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用?

成员内部类

定义在类内部的非静态类

静态内部类

定义在类内部的静态类

局部内部类

定义在方法或作用域中的类

匿名内部类

为什么需要内部类?

  1. 实现隐藏、封装性
  2. 非静态内部类拥有其所在外部类的所有元素的访问权限(JDK1.8之前需要添加final修饰符)
  3. 实现多重继承
  4. 实现回调功能

你可能感兴趣的:(面试题-谈谈对成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用?)