饿汉单例设计模式
1. 私有化构造函数。
2. 声明本类的静态的( 因为实例方法是静态的,要在方法中调用变量所以变量也必须是静态的才可以)私有化引用类型变量,并且使用该变量指向本类对象。
3. 提供一个公共静态的方法获取本类的对象。
public class Single{ private static Single s = new Single(); private Single(){} public static Single getInstance(){ return s; } }
懒汉单例设计模式:
1. 私有化构造函数。
2. 声明本类的静态的( 因为实例方法是静态的,要在方法中调用变量所以变量也必须是静态的才可以)私有化的引用类型变量,但是不要创建对象,
3. 提供公共静态 的方法获取本类 的对象,获取之前先判断是否已经创建了本类 对象
,如果已经创建了,那么直接返回对象即可,如果还没有创建,那么先创建本类的对象,
然后再返回。
class Single2{ private static Single2 s; private Single2(){} public static Single2 getInstance(){ if(s==null){ s = new Single2(); } return s; } }
推荐使用: 饿汉单例设计模式。 因为懒汉单例设计模式会存在线程安全问题,目前还不能保证一类在内存中只有一个对象。