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