单例模式
假设构造器中需要执行1000行代码,需要占用很大的资源,耗时长,像这种情况,就适合使用单例设计模式,只创建一次对象,以后一直使用这个对象。
饿汉式单例设计:
1、构造方法私有化,无法使用new创建实例对象 private Single( ){ }
2、仅创建一个对象,并且类变量私有化 private static Single single = new Single();
3、使用静态方法返回该类中仅有的实例对象
private static Single getInstance(){ return single; }
public class Single {
// 私有化构造方法
private Single(){}
private static Single single = new Single();
public static Single getSingle() {
return single;
}
}
懒汉式单例设计:
最开始对象是null,直到有第一个调用者,才会创建一个对象,之后所有调用者都用这个对象
1、私有化构造函数
2、静态声明引用为null,private static Single single = null;
3、静态方法返回类的实例,首先判断静态引用是否为空,若为空则创建对象然后返回对象引用,否则直接返回对象引用
public class SingleL {
private SingleL(){}
private static SingleL singleL = null;
public static SingleL getInstance(){
if(singleL==null){
singleL = new SingleL();
}
return singleL;
}
}