单例模式

来源:互联网 发布:网络歌手雷婷个人资料 编辑:程序博客网 时间:2024/06/13 23:01
public class Single {  private static Single single=new Single();  private Single(){    }  public static Single getInstence(){  return single;  }}

即将构造私有化,不通过构造去实例化,而通过普通函数去实例化。为了控制被实例化的个数,将实例对象设为static的变量,这样只会被初始化一次。

测试类:

public class TestSingle {public static void main(String[] args) {Single single1=Single.getInstence();Single single2=Single.getInstence();System.out.println(single1==single2);  }}

输出为true,证明只有一个对象。

单例模式常见的有两种写法:

(1.)饿汉式:

package demo;public class SingleDemo {private static SingleDemo demo = null;private SingleDemo() {}public static SingleDemo getInstance() {if (demo == null) {demo = new SingleDemo();}return demo;}}

(2.)饱汉式:

package demo;public class SingleDemo {private static SingleDemo demo = new SingleDemo();private SingleDemo() {}public static SingleDemo getInstance() {return demo;}}


原创粉丝点击