参考:
https://blog.csdn.net/u011595939/article/details/79972371
package singleton;
// 饿汉式
class sigleton1 {
private sigleton1(){};
private static final sigleton1 instance =new sigleton1();
public sigleton1 getInstance()
{
return instance;
}
}
// 懒汉模式
class sigleton2 {
private sigleton2() {
}
private static volatile sigleton2 instance;
public static sigleton2 getInstance() {
if (null == instance) {
synchronized (sigleton2.class) {
if (null == instance) {
instance = new sigleton2();
}
}
}
return instance;
}
}
// 枚举
enum sigleton3{
INSTANCE;
private sigleton3(){};
public void work()
{
System.out.println("work");
}
}
静态内部类
class sigleton4 {
private sigleton4()
{
}
public static sigleton4 getInstance()
{
return instanceHolder.instance;
}
private static class instanceHolder
{
private static final sigleton4 instance = new sigleton4();
}
}
public class demo1{
public static void main(String[] args) {
sigleton3 sigleton3 = singleton.sigleton3.INSTANCE;
sigleton3.work();
}
}