代码改变世界

单例模式

2014-10-09 16:58  l4y  阅读(189)  评论(0编辑  收藏  举报

  单例模式是一种常用的设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问。
  下面使用Java实现的一个单例模式:

 1 public class SingletonTest {
 2     public static void main(String[] args){    //main()中代码用于测试
 3         Singleton s1 = Singleton.getInstance();
 4         Singleton s2 = Singleton.getInstance();
 5         System.out.println(s1 == s2);
 6     }
 7 }
 8 
 9 class Singleton{
10     private static Singleton singleton = new Singleton();
11     public static Singleton getInstance(){
12         return singleton;
13     }
14     private Singleton(){
15         
16     }
17 }

  我们暂时不看主程序的内容。在类Singleton中,我们把其构造方法定义为private,防止任何外部代码通过构造方法得到Singleton的实例。

  思考:为什么第10、11行的属性和方法定义为static?