java设计模式用23种之多,但是并不是每一种都经常使用,个人认为,设计模式其实只是前人的经验总结,告诉我们这么做会使代码更优秀或者更健壮,所以并不是说我们写的代码不用设计模式就不行,而是使用了设计模式可能会更好。下面就来说一下最常用的单例模式。
单例模式就是你操作的所有对象都是同一个,一般又分为饿汉式和懒汉式两种。简单来说,饿汉式就是在类加载的时候就初始化对象(比较“着急”,是个急性子,你不用的时候就给你初始化好,你用的时候直接用),懒汉式就是实例化对象的时候再创建(比较懒,相对淡定,你啥时候用我啥时候创建)。
下面是实例代码:
(1)懒汉式
public class SingleTest {
//将引用声明为静态私有的类成员变量
private static SingleTest st = null;
//将构造函数私有化,外部不能直接创建对象
private SingleTest(){};
//对象提供创建实例的方法
public static SingleTest getInstance(){
if(st == null){
/*如果st为空,说明是第一次创建,需要new对象,
* 如果不为空,则说明对象已存在,直接返回该对象
*/
st = new SingleTest();
}
return st;
}
}public class SingleTest {
//将引用声明为静态私有的类成员变量,并且实例化
private static SingleTest st = new SingleTest();
//将构造函数私有化,外部不能直接创建对象
private SingleTest(){};
//对象提供创建实例的方法
public static SingleTest getInstance(){
return st;
}
}
(2)饿汉式
public class SingleTest {
//将引用声明为静态私有的类成员变量,并且实例化
private static SingleTest st = new SingleTest();
//将构造函数私有化,外部不能直接创建对象
private SingleTest(){};
//对象提供创建实例的方法
public static SingleTest getInstance(){
return st;
}
}
以上就是java中最常用的单例模式的简单实现。