Machen diese private static enum oder nicht?
In einer Klasse, die ich brauche, um zu definieren, verschiedene Aktionen, die übergeben werden, in eine Methode. Nun werden alle Instanzen können sicher teilen Sie diese Aktion, so dass ich dachte, ich könnte sicher machen die enum-statisch.
Aber in fast allen Beispielen, die ich gesehen habe, werden die verschachtelten enum ist nie statisch. So, das ist die bevorzugte Methode zum definieren einer verschachtelten (private) enum? Macht es tatsächlich Sinn macht, es nicht zu statisch?
public class MyClass {
private static enum Action {
READ("read"),
WRITE("write");
final String value;
Action(String value) {
this.value = value;
}
String getValue() {
return value;
}
}
//attributes, methods, constructors and so on
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Java Language Specification, Abschnitt 8.9, Staaten:
So dass Sie können, aber nicht müssen, und es wird keinen Unterschied machen. Ich persönlich glaube nicht, dass ich die Mühe, weil es implizit sowieso.
Verschachtelte enum-Typen sind implizit statisch 🙂
Als enum ist von Natur aus statisch ist, gibt es keine Notwendigkeit und macht keinen Unterschied bei der Verwendung von static-Schlüsselwort enum.