Java 中密封和最终 class 之间的区别

Difference between sealed and final class in Java

刚刚读到 Java 15 应该有 sealed 类。 jep360 说:

Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them.

我认为这正是 final class 在 Java 中所做的。 所以现在我想知道:final classsealed class 有什么区别?

final class A {...}表示不允许class扩展A.

sealed class A permits B {...} 意味着只有 B 可以扩展 A 但其他 class 不允许这样做。