何时使用嵌套类,局部类,匿名类和Lambda表达式
在嵌套类、局部类、匿名类和Lambda表达式之间进行选择
如嵌套类章节所述,嵌套类可将仅在单一位置使用的类进行逻辑分组,增强封装性,并创建更易读易维护的代码。局部类、匿名类和lambda表达式同样具备这些优势,但它们适用于更特定的场景:嵌套类、局部类、匿名类与lambda表达式的选择:
- 局部类:当需要创建多个类实例、访问构造函数或引入新的命名类型时使用(例如后续需要调用额外方法)。嵌套类、局部类、匿名类与Lambda表达式的选择
- 匿名类:当需要声明字段或额外方法时使用。
- Lambda表达式:
- 当你需要封装单一行为单元并将其传递给其他代码时,请使用它。例如,当你希望对集合中的每个元素执行特定操作、在进程完成时触发操作,或在进程遇到错误时执行操作时,就可以使用lambda表达式。
- 当您需要一个功能接口的简单实例且不满足上述任何条件时(例如,您不需要构造函数、命名类型、字段或额外方法),请使用此方案。
- 嵌套类:当你的需求类似于局部类,希望使该类型更广泛可用,且不需要访问局部变量或方法参数时使用。
- 若需访问外部类的非公开字段和方法,请使用非静态嵌套类(或内部类);若无需此类访问权限,则使用静态嵌套类。