单例模式面向的需求:
一个类在内存中只能有一个对象。
分为饿汉式和懒汉式两种。
饿汉式:(类一旦进入内存就生成对象)
Class Single{
private Single (){}//构造方法,声明为私有
private static Single s = new Single(); // 对象也声明为私有
public static Single getInstance(){
return s;
}
}
懒汉式:(对象延时加载,知道调用方法时才生成)
Class Single{
private Single (){}//构造方法,声明为私有
private static Single s = null; // 对象声明为私有 ,先不实例化
public static Single getInstance(){
if(s==null){
synchronized( Single.class){ //同步代码块,
if(s==null)
s=new Single();
}
}
return s;
}
}
这两种方法记住就行.
|
|