レガシーセミコロンレスJavaにおけるenumの制限 Java言語ではenumにメソッドを生やす事ができます。 //これはセミコロンを付けても良いありふれた普通のJavaコード public enum Hoge { FOO, BAR, BAZ; public void println() { System.out.println(name()); } } しかしメソッドを定義するためには一番最後に宣言した列挙定数(上記の例でいうと BAZ )の後ろにセミコロンをつける必要があります。 これは回避できない制約なのでセミコロンレスJavaではenumにメソッドは生やせませんでした。 セミコロンレスJava 8におけるenumの新機能 しかし、Java 8でインターフェースにデフォルトメソッドを持てるようになり、 その副次効果でセミコロンレスJava 8ではenumにメソッドを生やす事が出来るよ