public interface Proposal {
public static final enum STATUS {
NEW ,
START ,
CONTINUE ,
SENTTOCLIENT
};
}
Java non consente l'enum final
all'interno di un'interfaccia, ma per impostazione predefinita ogni membro di dati all'interno di un'interfaccia è public static final
. Qualcuno può chiarirlo?Perché un enum di Java non può essere definitivo?
È che pensi che un enum non finale sia in qualche modo sottoclassabile? –
no sapevo che enum non può essere sottoclasse ma java ci dà la libertà di scrivere finale da qualsiasi costante nell'interfaccia, ma non di fronte a enum, perché questo è in parte quello che stavo chiedendo (cercando solo di leggere cosa c'è nella loro mente mentre fanno questo?) –
c'è un'enorme differenza tra il modo in cui 'finale' viene utilizzato tra le definizioni di classe/interfaccia (e, in linea di principio, enum) e le definizioni del campo * del membro * (che cosa sono in genere le" costanti "in un'interfaccia). Uno riguarda la sottoclassabilità e l'altro incide sulla mutabilità. –