java面向对象 深入单例设计模式内核
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设
计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石脉络,如同大厦的结构一样。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并
节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
思路
1)禁止其它程序建立该类对象
2)在本类中,自定义一个对象
3)对外提供访问方式
class Single
{
//- - - - - - - - - - - - - - - - -
//对外提供
private int num;
public void setNum(int num)
{
this.num=num;
}
public int getNum()
{
return num;
}
//- - - - - - - - - - - - - - - - -
//单例模式的饿汉式
//1)构造函数私有化
private Single(){}
//2)自定义一个对象
private static Single x=new Single();
//3)对外提供访问方式
public static Single getInstance()
{
return x;
}
//- - - - - - - - - - - - - - - - -
}
class Test
{
public static void main(String[] args)
{
/*
//a)对象引用:因为指向不同对象,所以返回s2的默认初始化值。
//测试时,不私有化Single(),才可创建不同对象,得到返回0;否则报错。
Single s1=new Single();
Single s2=new Single();
s1.setNum(3);
System.out.println(s2.getNum());
*/
//b)类名引用:因为指向唯一对象,所以返回s1的设置值。
Single s1=Single.getInstance();
Single s2=Single.getInstance();
s1.setNum(4);
System.out.println(s2.getNum());
}
}
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5606.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
