An enumis essentially a singleton pattern.
The JVM handles the initialization and storage of instances enum. To make this most clear, you can write:
public enum MyEnumClass {
INSTANCE("some value for the string.");
private final String someString;
private MyEnumClass(final String someString) {
this.someString = someString;
}
public String getSomeString(){
return someString;
}
}
And in another class:
public static void main(String[] args) {
final MyEnumClass myEnumClass = MyEnumClass.INSTANCE;
system.out.println(myEnumClass.getSomeString());
}
This will print "some value for the string."
, enum , .. static.
, equals MyClass,
new MyClass() == new MyClass();
false, :
MyEnumClass.INSTANCE == MyEnumClass.INSTANCE;
true. .. MyEnumClass.INSTANCE MyEnumClass.INSTANCE, MyClass new MyClass().
"".
An enum - String enum singleton, . , enum, , , .
, enum, , , , class.
INSTANCE someString, enum class...
enum , , class es , . - , .