On Mon, 28 Mar 2022 16:30:50 GMT, Phil Race <p...@openjdk.org> wrote:

> JDK 17 delivered JEP 409: Sealed Classes : https://openjdk.java.net/jeps/409
> In essence this JEP allows a class to limit which classes can subclass it.
> If a class has no subclasses and cannot be subclassed outside the JDK it can 
> also be made final.
> Suitable classes across the JDK are being retro-fitted to be sealed (or made 
> final) where it can be done compatibly.
> This fix takes care of several AWT classes which were identified.
> If later we need to remove sealed or make a class non-final that will also be 
> a compatible change,
> so we aren't locking ourselves into this.
> 
> All our automated regression tests - plus JCK tests have been run.
> 
> This will require a CSR

> I _think_ Sergey is asking how javac identifies classes that are sub-classing 
> the sealed class but not listed in the permits clause ?

If a sealed class does not have a permits clause, the allowed subclasses must 
be in the same file as the class in question, e.g. nested classes that were 
also subclasses or auxiliary classes. This is described in the JEP.

-------------

PR: https://git.openjdk.java.net/jdk/pull/7998

Reply via email to