系列中的上一篇
当前教程
何时使用嵌套类、局部类、匿名类和 Lambda 表达式
这是本系列的最后一篇!

系列中的上一篇: 枚举

何时使用嵌套类、局部类、匿名类和 Lambda 表达式

 

在嵌套类、局部类、匿名类和 Lambda 表达式之间进行选择

如嵌套类部分所述,嵌套类使您能够逻辑地对仅在一个地方使用的类进行分组,提高封装的使用,并创建更易读和易于维护的代码。局部类、匿名类和 Lambda 表达式也具有这些优点;但是,它们旨在用于更具体的场景。

  1. 局部类:如果您需要创建多个类的实例,访问其构造函数或引入新的命名类型(例如,您需要稍后调用其他方法),请使用它。
  2. 匿名类:如果您需要声明字段或其他方法,请使用它。
  3. Lambda 表达式
  • 如果您要封装要传递给其他代码的单个行为单元,请使用它。例如,如果您希望对集合中的每个元素执行某个操作,当进程完成时,或者当进程遇到错误时,您将使用 Lambda 表达式。
  • 如果您需要一个简单的函数接口实例,并且不适用上述任何条件(例如,您不需要构造函数、命名类型、字段或其他方法),请使用它。
  1. 嵌套类:如果您的需求类似于局部类,您想使类型更广泛地可用,并且您不需要访问局部变量或方法参数,请使用它。
  2. 如果您需要访问封闭实例的非公共字段和方法,请使用非静态嵌套类(或内部类)。如果您不需要此访问,请使用静态嵌套类。

上次更新: 2021 年 9 月 14 日


系列中的上一篇
当前教程
何时使用嵌套类、局部类、匿名类和 Lambda 表达式
这是本系列的最后一篇!

系列中的上一篇: 枚举