单例有啥应用场景?有啥好处? 在某些业务场景下,使用单例模式,可以避免浪费内存 单例设计模式: *确保一个类只有一个对象 写法: *1.把类的构造器私有化 *2.定义一个类变量记住类的一个对象 *3.定义一个类方法,返回对象
饿汉式单例模式:在获取对象的时候,对象就已经创建好了
懒汉式单例模式:拿对象时,才创建对象
饿汉式单例模式写法:
public class A {
//定义一个类变量记住类的一个对象
private static A a=new A();
//把构造器私有化,无法再创建对象
private A(){}
//定义一个类方法,返回对象
public static A getproject(){
return a;}
}
懒汉式单例模式写法:
public class B {
//懒汉式单例写法
//定义一个类变量记住类的一个对象
private static B b;
//把构造器私有化,无法再创建对象
private B (){}
//定义一个类方法,来返回对象
public static B getInstance(){
if(b==null){b=new B;}//第一次创建一个对象
return b;
}
注:经常用到单例设计模式时,可以用饿汉式单例设计模式,直接创建对象,反之可以用懒汉式单例设计模式