通过 Enum 的单例性质,实现最强单例

主题

通过 Enum 的单例性质,实现最强单例

解读

枚举三个特性,自由序列化,线程安全,保证单例。借用到具体单例上,特别合适。

代码实现

package enum_as_singleton;

public enum DemoSingleton {
/**
* 单例
*/
INSTANCE;

public void demo() {
System.out.println("demo");
}

public void hello() {
System.out.println("hello, world");
}

public void goodbye() {
System.out.println("goodbye, world");
}
}

单元测试

package enum_as_singleton;

import org.junit.Test;

public class DemoSingletonTest {

@Test
public void test() {
DemoSingleton.INSTANCE.hello();
DemoSingleton.INSTANCE.demo();
DemoSingleton.INSTANCE.goodbye();
}

}