单例设计模式的两种形式:
1、饿汉式(即先初始化对象)(开发优先选择饿汉式)
Singel类一进内存,就已经创建好了对象。
public class Demo29 { public static void main(String[] args) { } } class Singel2{ private Singel2(){}//构造函数私有化 private static Singel2 s=new Singel2();//在本类中国创建一个本类对象 public static Singel2 getInstance(){//提供一个方法可以获取到该类对象; return s; } }
2、懒汉式(对象方法被调用时,才初始化,也叫做对象的延时加载)Singel类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。
public class Demo29 { public static void main(String[] args) { } } class Singel2{ private Singel2(){}//构造函数私有化 private static Singel2 s=null;//先初始化一个变量 //private static Singel2 s=new Singel2();在本类中国创建一个本类对象 public static Singel2 getInstance(){//提供一个方法可以获取到该类对象; if(s==null) s=new Singel2(); return s; } }