在Java中,我们可以执行以下操作来初始化该类中的类和调用方法:
public class MyClass {
public String myClassMethod() {
return "MyClass";
}
}
Run Code Online (Sandbox Code Playgroud)
.
public class Test {
public static void main(String[] args) {
MyClass myClass = new MyClass(); // initialize MyClass
myClass.myClassMethod();// call a method
}
}
Run Code Online (Sandbox Code Playgroud)
如果我的类是一个enum类,则实现如下:
public enum MyEnumClass {
INSTANCE;
public String myEnumClassMethod() {
return "MyEnumClass";
}
}
Run Code Online (Sandbox Code Playgroud)
.
public class Test {
public static void main(String[] args) {
MyEnumClass myEnumClass = MyEnumClass.INSTANCE;
myEnumClass.myEnumClassMethod();
}
}
Run Code Online (Sandbox Code Playgroud)
这两种情况都以相同的方式工作,但据说它在enum实现中更好.我的问题是为什么以及如何发生?