单例设计模式:保证一个类在内存中存在一个对象。
如何保证对象的唯一性:
1、为了避免其他程序过多建立该类对象,先控制禁止其他程序建立该类对象。
2、还为了让其他程序可以访问该类对象,只好在本类中自定义一个对象。
3、为了方便其他程序对自定义对象的访问可以对外提供一些访问方法。
以上三部的代码体现?
1、将构造函数私有化。
2、在类中创建一个本类对象。
3、提供一个方法可以获取到该对象
一、饿汉式(就像一个饿死鬼一样一上来就要吃)
public class Single{
private Single(){}
private static Single single=new Single()//不管对象是否被调用都要初始化对象。
public stataic Single getInstance(){
return single;
}``
二、懒汉式(顾名思义就是做事都要慢一拍)
对象是方法被调用时,才初始化,也叫做对象的延时加载。
public class Single{
private Single(){};//构造函数私有化
private static Single single=null;//懒汉式不急着初始化对象
/**
对象被调用时才初始化对象
*/
public static Single getInstance(){
if(single=null){
single=new Single();
}
return single;s
}
}