解决一个类在内存中只存在一个对象
思路:
1)为了避免其它程序过多建立该类对象,先禁止其它程序建立该类对象
2)为了让其它程序可以访问到该类对象,只好在本类中自定义一个对象
3)为了方便其它程序对自定义对象的访问,可以对外提供一些访问方式
用代码体现的思路:
1)将构造函数私有化
2)在类中创建一个本类对象
3)提供一个方法可以获取到该对象
饿汉式单例设计模式
class Single{
private int num;
public void setNum(int num){
this.num=num;
}
public int getNum(){
return num;
}
private Single(){}
private static Single s=new Single();
public static Single getInstance(){
return s;
}
}
class SingleDemo{
public static void main(String[] args){
Single s=Single. getInstance();
}
懒汉式设计模式
class Single{
private static Single s=null;
private single(){}
public static Single getInstance(){
if(s==null){
synchronized(Single.class){
if(s==null)
s=new Single();
}
}
return s;
}
}
class SingleDemo{
public static void main(String[] args){
Single s=Single. getInstance();
}