密封类修饰符在Java中如何帮助模式匹配?

密封类修饰符在Java中如何帮助模式匹配?,java,pattern-matching,sealed,sealed-class,Java,Pattern Matching,Sealed,Sealed Class,最新的Java发行版15提供了新的功能-sealedmodifier。我看了一遍,上面写着: 密封类和接口限制其他类或接口可以扩展或实现它们 目标: 允许类或接口的作者控制负责实现它的代码 提供一种比访问修饰符更具声明性的方式来限制超类的使用 通过支持模式的详尽分析,支持模式匹配的未来方向 第一个和第二个很简单,但第三个很难遵循。有人能解释一下sealed对模式匹配有什么帮助吗?制作一个类sealed意味着编译器在编译时知道实现类的完整列表。因此,它可以确认(例如)已处理了所有可能的匹配 将

最新的Java发行版15提供了新的功能-
sealed
modifier。我看了一遍,上面写着:

密封类和接口限制其他类或接口可以扩展或实现它们

目标:

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

第一个和第二个很简单,但第三个很难遵循。有人能解释一下
sealed
模式匹配有什么帮助吗?

制作一个类
sealed
意味着编译器在编译时知道实现类的完整列表。因此,它可以确认(例如)已处理了所有可能的匹配


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

所以我猜您不明白是什么“通过支持模式的详尽分析。”意思是说?你读过“描述”部分的例子吗?有一个关于模式匹配的例子很好地解释了这一点。