单例模式

单例模式:

class Single{
	private static Single s=new Single();
	private Single(){}
	public static Single getInstance(){//提供public公共方法用于返回该类唯一对象
		return s;
	}
}
class SingleDemo{
	public static void main(String[] args){
		Single s1=Single.getInstance();
		Single s2=Single.getInstance();
		s1.setNum(10);
		s2.setNum(20);
		System.out.println(s1==s2);
	}
}

运行结果:true-->只会创建一个对象,所以地址相同(==比较地址),所以结果返回true
设计模式:
	单例模式:保证一个类在内存中的对象的唯一性
	必须对于多个程序使用同一个配置信息对象是,就需要保证该对象的唯一性
	如何保证:
		1:不允许其他程序用new创建该类对象
		2:在该类创建一个本类实现
		3:对外提供一个方法让其他程序可以获取该对象
	步骤:
		1:私有化该类构造函数
		2:通过new在本类中创建一个本类对象
		3:定义一个公有方法,将创建的对象返回

饿汉式(开发常用):

类加载,对象就建立

class Single{	
	private static Single s=new Single();
	private Single(){}
	public static Single getInstance(){
		return s;
	}
}

懒汉式

类加载并无对象,只有创建getInstance()对象才建立

//延迟加载形式	
class Single{	
	private static Single s=null;
	private Single(){}
	public static Single getINstance(){
		if(s==null){
			s=new Single();	
		}
		return s;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值