单例设计模式
1.设计模式:
设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。
设计模免去我们自己再思考和摸索。就像是经典的棋谱,不同的棋局,我们用不同的棋谱。
经典23种设计模式
2.单例设计模式
目的:在整个软件系统中,只能创建当前类的一个实例。
3.实现:饿汉式 vs 懒汉式
区别:关于对象创建时间的不同
比较:饿汉式:不存在线程安全问题(好处)
懒汉式:延迟对象的创建。(好处)
存在线程安全问题(坏处)
//饿汉式
class Bank{
//1.私有化类的构造器
private Bank(){}
//2.在类的内部创建对象
private static Bank bank = new Bank();
//3.通过公共的方法,获取Bank实例
public static Bank getInstance(){
return bank;
}
}
//懒汉式
class Application{
//1.私有化类的构造器
private Application(){}
//2.声明当前类的对象,使用private static修饰
private static Application app = null;
//3.通过方法获取当前类的实例
public static Application getInstance(){
if(app == null){
app = new Application();
}
return app;
}
}