23种设计模式~单例模式

来源:互联网 发布:吉林市知鼎人才网 编辑:程序博客网 时间:2024/04/30 14:15
/*
 * 1.设计模式:在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。
 * 23种设计模式
 * 
 * 2.单例模式
 * 解决的问题:为了使类只能够创建唯一的一个对象
 * 
 * 3.如何实现单例模式:见如下的4步
 */
//饿汉式1
class Bank{
//1.将构造器私有化
private Bank(){}

//2.在类的内部创建一个对象,声明为私有的
//4.此对象也必须声明为static的
private static Bank bank = new Bank();

//3.提供公共的方法来调用此对象,通过类来调用此方法,所以声明为static的
public static Bank getBank(){
return bank;
}
}


//饿汉式2
class Bank{
//1.将构造器私有化
private Bank(){}

//2.在类的内部创建一个对象,声明为私有的
//4.此对象也必须声明为static的
private static Bank bank = null;
static{
bank = new Bank();
}
//3.提供公共的方法来调用此对象,通过类来调用此方法,所以声明为static的
public static Bank getBank(){
return bank;
}
}


//懒汉式
//存在线程的安全问题


class Bank1{

//1.私有化构造器
private Bank1(){}

//2.声明一个私有的Bank1引用
//4.此声明也应改为static的
private static Bank1 bank = null;

//3.声明一个public static的获取Bank1实例的方法
public static Bank1 getBank(){

if(bank == null){

bank =  new Bank1();
}
return bank;
}

}

原创粉丝点击