单例模式即一个类确保只有一个对象,主要用于避免浪费内存
1.饿汉单例设计模式:拿到对象时,对象就早已经创建好了
- public class A {
- private static A a = new A();
- private A(){
- }
- public static A getObject(){
- return a;
- }
- }
写法:
把类的构造器私有
在类中自己创建一个对象,并赋值到一个变量
定义一个静态方法,返回自己创建的这个对象
2.懒汉单例设计模式:第一次拿到对象时,才开始创建对象
- public class B{
- public static B b;
- private B(){
- }
- public synchonized static B getObject(){
- if(b==null){
- b=new B();
- }
- return b;
- }
- }
写法:
把类构造器私有
在类中定义一个类变量用于储存对象,只定义不创建
提供一个类方法,要保证只创建一次,在方法中创建并返回对象