java基础案例:单例设计模式

/*
单例设计模式:
必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性
如何保证对象的唯一性:
1、不允许其它程序用enw创建该类对象
2、在该类中创建一个本类实例
3、对外提供一个方法让其它程序可以获取该对象

步骤:
1、私有化该类构造函数
2、通过new在本类中创建一个本类对象
3、定义一个公有的方法,将创建的对象返回


*/

public class Single_Demo
{
public static void main(String[] args)
{
Single s1 = Single.getInstance();
Single s2 = Single.getInstance();
s1.setNumber(10);
s2.setNumber(20);
System.out.println(s1.getNumber());
System.out.println(s2.getNumber());


Single2 ss1 = Single2.getInstance();
Single2 ss2 = Single2.getInstance();
ss1.setNumber(80);
ss2.setNumber(50);
System.out.println(ss1.getNumber());
System.out.println(ss2.getNumber());
}
}

//饿汉式:  类一加载,对象就已经存在了
class Single
{
private int number;
private static Single  s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}

public void setNumber(int number)
{
this.number = number; 
}
public int getNumber()
{
return number;
}
}


//懒汉式:  类加载进来还没有对象,只有调用了getInstance方法时,才会创建对象
//开发是都用饿汉式,面试时都会考懒汉式,因为懒汉式里面牵扯的知识点很多
class Single2
{
private int number;
private static Single2 s = null;
private Single2(){}
public static Single2 getInstance()
{
if(s==null)
{
s = new Single2();
}
return s;
}

public void setNumber(int number)
{
this.number = number;
}
public int getNumber()
{
return number;
}
}

猜你喜欢

转载自blog.csdn.net/z1888202/article/details/79371663
今日推荐