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

问题描述

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

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

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

解决方法

final class A {...}表示不允许扩展A中的任何类。

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