Así que tengo mi enumeraciónJava public enum propósito método
public enum Sample {
ValueA{
@Override
public String getValue(){ return "A"; }
},
ValueB{
@Override
public String getValue(){ return "B"; }
public void doSomething(){ }
};
abstract public String getValue();
};
y tengo algún otro código de intentar usar la enumeración.
Sample.ValueB.doSomething();
¿Qué parece que debería ser válido, pero produce el error "El método doSomething() está definido para el tipo de muestra". A diferencia de
Sample value = Sample.ValueB;
value.doSomething();
que produce el mismo error y parece razonable.
Supongo que hay una respuesta razonable sobre por qué la primera no funciona y se relaciona con los dos ejemplos que son equivalentes bajo el capó. Esperaba que alguien me indicara la documentación sobre por qué es así.
Realmente ayudaría si dijera qué error está recibiendo ... –
¿No debería llamar 'Sample.doSomething()'? – nfechner
@ nfechner..el método 'doSomething()' no es estático .. –