您的位置:首页 > 移动开发 > Android开发

Android设计模式-单例模式

2016-02-10 14:52 330 查看
1.懒汉模式

public class Singleton {
private static Singleton instance;

private Singleton() {
}

public static synchronized Singleton getInstance(){
if(instance == null){
instance = new Singleton();
}
return  instance;
}
}


在代码中使用的 synchronized 是为了保证单例对象唯一性的。

2.Double Check Lock (DCL 双重检查锁定)

public class Singleton {
private static Singleton mInstance = null;

private Singleton() {
}

public void doSomething() {
System.out.println("do sth.");
}

public static Singleton getInstance() {
if (mInstance == null) {
synchronized (Singleton.class) {
if (mInstance == null) {
mInstance = new Singleton();
}
}
}
return mInstance;
}
}


3.静态内部类

public class Singleton {
private Singleton() {
}

public static Singleton getInstance() {
return SingletonHolder.sInstance;
}

public static class SingletonHolder {
private static final Singleton sInstance = new Singleton();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息