单例模式(Singleton) ,属于最常见的设计模式之一,大部分系统都会用到,目的是为了维护系统中唯一的一个实例。 主要优点: 1、提供了对唯一实例的受控访问。 2、在系统内存中只存在一个对象,可以节约系统资源,可以提高系统的性能。 3、允许可变数目的实例。 思路:
1,为了避免其他程序过多建立该类对象。先禁止其他程序建立该类对象
2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个对象。
3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
举例说明,代码如下:public class Demo
{
public static void main(String[] args)
{
//通过s1和 s2赋值后,两个对象的num的值都是一样的,可以确定s1和s2操作的是同一个对象,从而简单说明了单例模式的设计方法
Single s1 = Single.getSingle();
Single s2 = Single.getSingle();
s1.setNum(23);
System.out.println(s2.getNum());
s2.setNum(30);
System.out.println(s1.getNum());
}
}
class Single
{
private int num;
//私有化类的构造函数
private Single(){}
//定义一个给num赋值的方法
public void setNum(int num)
{
this.num=num;
}
//定义一个获取num的方法
public int getNum()
{
return num;
}
//定义一个内部私有化对象
private static Single s = new Single();
//定义一个静态方法,返回一个私有化对象
public static Single getSingle()
{
return s;
}
}
|