如题:看代码,太简单,不解释,练手。
/*
* 静态内部类实现单例模式
* */
public class AbstractClassImplementsSingleTon {
private AbstractClassImplementsSingleTon(){}
private static class InnerClass {
private static final AbstractClassImplementsSingleTon instance = new AbstractClassImplementsSingleTon();
}
public static AbstractClassImplementsSingleTon getInstance(){
return InnerClass.instance;
}
}
/*
* 饿汉式加载
* */
class NotLazyLoad {
private static final NotLazyLoad instance = new NotLazyLoad();
private NotLazyLoad(){}
public static NotLazyLoad getInstance(){
return instance;
}
}
/*
* 加锁实现
* */
class SynchronizedMethodImplementsSingleTon{
private SynchronizedMethodImplementsSingleTon(){}
private static volatile SynchronizedMethodImplementsSingleTon instance;
public static SynchronizedMethodImplementsSingleTon getInstance(){
if(instance==null){
synchronized(SynchronizedMethodImplementsSingleTon.class){
if(instance==null){
instance = new SynchronizedMethodImplementsSingleTon();
}
}
}
return instance;
}
}