单例模式:保证一个类只用一个相同的实例,并且提供一个访问该实例的全局访问方法
如任务管理器、回收站
饿汉式:
把构造器私有,则别人无法访问
同时提供一个私有的创建好的static的该实例属性
提供一个开放的方法返回该实例
public class Design {
private static Design d =new Design(); //类初始化时,立即加载这个对象,没有延迟加载的优势
//即不使用对象会造成资源浪费
private Design()
{
}
public static Design getInstance() //因为实在类加载器时创建的实例,此时线程绝对安全,所以不用加synchronized锁住保证一个对象
{
return d;
}
/*懒汉式:延迟调用,即调用时创建实例
private static Design dd;
private Design(){};
public static synchronized Design getInstance() //可能有多个线程调用,即可能null同时创建多个对象,所以得锁住
{
if(s==null)
{
s= new Design();
}
return s;
}
*/
}