单例模式之恶汉式
一.定义
主要是用来保证程序启动到最后都只有一个对象;
比如:月亮,太阳;
singleton(单独,孤独)单例
二.单例模式实现的步骤
1,私有化构造函数;
2,在本类中创建自己唯一的实例,并且把自己接收的对象私有化;
3,提供一个公开的方法获取这个实例;
public class Singleton {
//私有化构造函数
private Singleton() {}
//自己实例化,并且接受的对象私有化
private static Singleton single = new Singleton();
//提供一个公开的方法
public static Singleton getSingleton() {
return single;
}
}
public class SingletonTest {
public static void main(String[] args) {
Singleton single1 = Singleton.getSingleton();
Singleton single2 = Singleton.getSingleton();
Singleton single3 = Singleton.getSingleton();
System.out.println(single1);
System.out.println(single2);
System.out.println(single3);
}
}
结果:
com.offcn.test05.Singleton1@5b6f7412
com.offcn.test05.Singleton1@5b6f7412
com.offcn.test05.Singleton1@5b6f7412
可以看到同个对象他的地址不一样;
三.恶汉式的弊端
在类加载的时候就会创建single的对象,如果你只是想用这个类不是这个类的对象的情况下就有点浪费空间;