单例模式 是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
从具体实现角度来说,实现单例模式需要以下三点:
一)单例模式的类只提供private的构造函数。
二)类定义中含有一个该类的private static的对象。
三)该类提供了一个public static的函数用于创建或获取 二)中的对象。
下面是一个单例模式的简单实例:
1 public class SingletonTest
2 {
3 public static void main(String[] args)
4 {
5 Singleton singleton = Singleton.getInstance();
6 Singleton singleton2 = Singleton.getInstance();
7
8 System.out.println(singleton == singleton2);
9 }
10 }
11
12 class Singleton
13 {
14 private static Singleton singleton = new Singleton();
15
16 private Singleton()
17 {
18
19 }
20
21 public static Singleton getInstance()
22 {
23 return singleton;
24 }
25
26 }
最后得出结果为:ture。 可见singleton与singleton2其实指向同一个对象。