在父类 java.lang.Enum 中, 也就只有 toString() 是没有使用 final 修饰啦, 要覆盖也只能覆盖该方法。 该方法的覆盖相信大家很熟悉, 在此就不做过多的讲解啦
4.4 实现接口因为Java是单继承的, 因此, Java中的枚举因为已经继承了 java.lang.Enum, 因此不能再继承其他的类。
但Java是可以实现多个接口的, 因此 Java 中的枚举也可以实现接口。
定义接口
public interface TestInterface { void doSomeThing(); }实现接口
public enum DirectionEnum implements TestInterface{ // 其他代码 public void doSomeThing() { System.out.println("doSomeThing Implement"); } // 其他代码 }测试
@Test public void testImplement() { DirectionEnum.WEST.doSomeThing(); // 输出 doSomeThing Implement } 5 使用枚举实现单例该方法是在 《Effective Java》 提出的
public enum Singlton { INSTANCE; public void doOtherThing() { } }使用枚举的方式, 保证了序列化机制, 绝对防止多次序列化问题, 保证了线程的安全, 保证了单例。 同时, 防止了反射的问题。
该方法无论是创建还是调用, 都是很简单。 《Effective Java》 对此的评价:
单元素的枚举类型已经成为实现Singleton的最佳方法。