0

最新的 Java 版本 15 提供了新功能 -sealed修饰符。我通过了JEP,它说:

密封的类和接口限制了哪些其他类或接口可以扩展或实现它们。

目标:

  • 允许类或接口的作者控制负责实现它的代码。
  • 提供比访问修饰符更具声明性的方式来限制超类的使用。
  • 通过支持模式的详尽分析来支持模式匹配的未来方向。

第一个和第二个非常简单,但第三个很难遵循。有人可以解释一下,请问如何sealed提供帮助pattern matching

4

1 回答 1

1

创建类sealed意味着编译器在编译时就知道实现类的完整列表。因此,它可以确认(例如)每个可能的匹配都已被处理。

认为它类似于检查异常:在编译时,编译器确保可以以某种方式处理每个可能抛出的检查异常(通过捕获或通过throws子句),因此可以保证流控制将正式一致。

于 2020-06-18T01:52:42.613 回答