¿Es posible, en Java, exigir que una clase tenga un conjunto específico de subclases y ninguna otra? Por ejemplo:¿Hay alguna manera de implementar tipos algebraicos en Java?
public abstract class A {}
public final class B extends A {}
public final class C extends A {}
public final class D extends A {}
¿Puedo de alguna manera hacer cumplir que ninguna otra subclase de A puede ser creada?
clases Alternativamente todos como anidadas con A que tiene solamente un constructor privado. –
Eso no es tan estético, sin embargo: A.B, A.C. ... –
importación estática al rescate, marxidad – Apocalisp