Возможно ли в Java обеспечить, чтобы у класса был определенный набор подклассов, а других нет? Например:
public abstract class A {}
public final class B extends A {}
public final class C extends A {}
public final class D extends A {}
Могу ли я каким-то образом обеспечить, чтобы никакие другие подклассы A не могли быть созданы?