Wie verwende ich Felder in Java Enum, indem ich die Methode überschreibe? [Duplikat]
Diese Frage hat hier bereits eine Antwort:
Warum können Enum-Implementierungen nicht auf private Felder in der Enum-Klasse zugreifen? 4 AntwortenDie Aufgabe ist es, schöne Strategie-Design-Muster mit der Java zu implementierenenum
:
public enum MyEnum {
FIRST {
@Override
public String doIt() {
return "1: " + someField; //error
}
},
SECOND {
@Override
public String doIt() {
return "2: " + someField; //error
}
};
private String someField;
public abstract String doIt();
}
aber unter Bezugnahme aufsomeField
Ich bekomme
Es kann kein statischer Verweis auf das nicht statische Feld someField erstellt werden.
Was ist falsch und ist es möglich, das besser zu machen?