An enum
is 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 , . - , .