1.单例模式:
public class Singleton {
public final static Singleton s;//创建一个初始的变量;
static {
s=new Singleton();//在程序加载静态初始化代码块的时候生成一个单例对象。存储在不可变得变量s中。
}
private Singleton(){ //使构造器私有化,在别的类里面无法通过new来生成Singleton对象。(别的类,如果是本类的内部类依然可以使用new创建对象,)
}
public static Singleton getInstance(){ //我个人把他理解为:是一个指向型的变量,用来指向唯一不可变的静态变量s,也就是指向唯一的实例。
return s;
}
public void Message(){ //测试方法:测试对象是否生成成功。
System.out.println("wo de diyici");
}
2.测试单例对象是否生成
public class SingletonTest {
public static void main(String[] args) {
//Singleton singleton = new Singleton(); //因为构造器私有化,所以new 不能生成对象。
Singleton instance = Singleton.getInstance(); //测试生成的唯一单例对象
instance.Message();
}
}