单例类

某个类,仅当系统不存在自身类的实体才创建实体。  即,系统中要么无实体,要么仅有一个实体。

 

 1 class Singleton
 2 {
 3     //使用一个变量来缓存曾经创建的实例
 4     private static Singleton instance;
 5     //将构造器使用private修饰,隐藏该构造器
 6     private Singleton(){}
 7     //提供一个静态方法,用于返回Singleton实例
 8     //该方法可以加入自定义的控制,保证只产生一个Singleton对象
 9     public static Singleton getInstance()
10     {
11         //如果instance为null,表明还不曾创建Singleton对象
12         //如果instance不为null,则表明已经创建了Singleton对象,将不会执行该方法
13         if (instance == null)
14         {
15             //创建一个Singleton对象,并将其缓存起来
16             instance = new Singleton();
17         }
18         return instance;
19     }
20 }
21 public class TestSingleton
22 {
23     public static void main(String[] args)
24     {
25         //创建Singleton对象不能通过构造器,只能通过getInstance方法
26         Singleton s1 = Singleton.getInstance();
27         Singleton s2 = Singleton.getInstance();
28         //将输出true
29         System.out.println(s1 == s2);
30     }
31 }

 

posted @ 2017-11-23 20:58  LevelIsBubble  阅读(116)  评论(0编辑  收藏  举报