Разница между запечатанным и конечным классами в Java

Я только что прочитал, что Java 15 должна иметь sealedклассы.jep360 говорит:

Запечатанные классы и интерфейсы ограничивают, какие другие классы или интерфейсы могут их расширять или реализовывать.

Я думал, что это именно то, что final classделает в Java. Итак, теперь я задаюсь вопросом: в чем разница между final class и sealed class?

1 ответ

final class A {...} означает, что ни один класс не может расширяться A.

sealed class A permits B {...} означает, что только B может продлить A но никакому другому классу это не разрешено.

Другие вопросы по тегам