Java では、次のようにしてクラスを初期化し、そのクラス内でメソッドを呼び出すことができます。
public class MyClass {
  public String myClassMethod() {
    return "MyClass";
  }
}
.
public class Test {
  public static void main(String[] args) {
    MyClass myClass = new MyClass(); // initialize MyClass
    myClass.myClassMethod();// call a method      
  }
}
私のクラスがクラスの場合enum、実装は次のようになります。
public enum MyEnumClass {
  INSTANCE;
  public String myEnumClassMethod() {
    return "MyEnumClass";
  }
}
.
public class Test {
  public static void main(String[] args) {
    MyEnumClass myEnumClass = MyEnumClass.INSTANCE;
    myEnumClass.myEnumClassMethod();
  }
}
enumどちらの場合も同じように機能しますが、実装では優れていると言われています。私の質問は、なぜ、どのようにそれが起こっているのですか?