单例模式之饿汉式和懒汉式

饿汉式

    在定义变量的同时完成赋值

    class SingleInstance{
        
    	//第二步:在单例类的内部创建当前类的对象,私有化并变成静态的
    	private static SingleInstance singleInstance = new SingleInstance();
    
    	//第一步:将构造方法私有化
    	private SingleInstance() {
    		
    	}
    	//第三步:建立一个静态的公共的方法,将单例类对象提供出去
    	public static SingleInstance getInstance() {
    		return singleInstance;
    	}
    	
    	//功能区---一般创建的是非静态的成员实现功能
    	//创建成员变量
    	//创建成员方法
    }

懒汉式


    class SingleInstance1{
    	//第二步:在单例类的内部创建当前类的对象,私有化并变成静态的
    	private static SingleInstance1 singleInstance = null;
    	//以小明为例子
       	private String name;
       	
    	//第一步:将构造方法私有化
    	private SingleInstance1() {
    		
    	}
    	//第三步:建立一个静态的公共的方法,将单例类对象提供出去
    	public static SingleInstance1 getInstance() {
    		if (singleInstance == null) {//为了保证对象的唯一性
    			synchronized (Sing.class) {	//线程安全
   				 if (singleInstance == null) {
  					singleInstance = new SingleInstance1(); 					
  					}
  				}
    		}
    		
    		return singleInstance;
    	}
    	public void setName(String name) {
 		this.name = name;
	 }
	 public String getName() {
		return name;
	}
   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值