public interface Proposal {
public static final enum STATUS {
NEW ,
START ,
CONTINUE ,
SENTTOCLIENT
};
}
Java no permite una enumeración sea final
dentro de una interfaz, pero por defecto, todos los miembros de datos dentro de una interfaz es public static final
. ¿Alguien puede aclarar esto?¿Por qué una enum de Java no puede ser definitiva?
¿Es que piensas que una enumeración "no final" es de alguna manera subclassable? –
no sabía que enum no puede ser subclase pero java nos da libertad para escribir el final de cualquier constante en la interfaz pero no enfrente de enum por qué esto parcialmente es lo que estaba preguntando (solo tratando de leer lo que hay en su mente mientras hacen esto?) –
hay una enorme diferencia entre cómo se usa 'final' entre las definiciones de clase/interfaz (y, en principio, enum) y las de campo * de miembro * (que es lo que las "constantes" normalmente se encuentran en una interfaz). Uno afecta la subclasabilidad, y el otro afecta la mutabilidad. –