很多语言中都存在一些设计模式(Design Pattern),学习这些设计模式,可以让我们在遇到一些问题时可以迎刃而解。下面我就来说一下,比较简单的一种:单例模式(Singleton)
单例模式表示一个类只会生成唯一的一个对象。下面来看一下单例模式的一个例子:
public class SingletonTest{
public static void main(String[] agrs){
Singleton singleton = Singleton.getInstance();
Singleton singletion2 = Singleton.getInstance();
System.out.println(singleton == singleton2); //这个的结果是真,这就说明了只生成了该类的一个对象。
}
}
class Singleton{
//写这个变量是为了不管任何的类来调用,只生成一个对象。
private static Singleton singleton = new Singleton();
//使得构造方法只有在方法的内部就行调用,不让其他的类来调用。
private Singleton(){
}
//为外部类提供一个生成该类对象的一个方法
public static Singleton getInstance(){
return singleton;
}
}
这个模式是所有模式中最简单那的一个,细心研究这个例子就可以让我们很容易的明白,单例模式的唯一目的就是为了让我们在外部调用的时候只生成该类唯一的一个引用。