java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

/*设计模式:
java有23种

单例 设计模式:确保一个类在内存中只有一个对象

禁止类外建立该类对象
在本类中定义一个对象,
对外提供方法接口,以实现其他程序对自定义对象(本类内定义对象)的访问
==》
将构造函数私有化
在类内创建本类对象
在类内提供方法获取该对象
*/
class Single
{
	//饿汉式:类一进内存就建立对象  通常采用此方式
	private Single(){}//构造函数私有,外部不可访问,限制此类只能new一个对象
	private int num;	
	public void setNum(int num)
	{
		this.num=num;
	}
	public int getNum()
	{
		return num;
	}

	static Single s=new Single();//因为下面的方法的静态,此属性也要静态

	static public Single getInstance()//若要 类名.方法 则需要使该方法静态
	{
		return s;
	}
	//懒汉式:延迟加载——当调用getInstance()方法时,才建立对象
	/*
	public static Single s=null;
	private Single(){}
	public static synchronized Single getInstance()
	{
		if(s==null)
		{
			synchronized (Single.class)
			{
				s=new Single();
			}
		}			
		return s;
	}
	*/
}

class  SingleDemo
{
	public static void main(String[] args) 
	{
		Single s1=Single.getInstance();//s1和类中的s指向同一片内存区域
		s1.setNum(20);//s1,s2和类中的s指向同一片内存区域
		Single s2=Single.getInstance();
		System.out.println(s2.getNum());//此句可证明
		
	}
}

懒汉式与饿汉式的区别在,类变量开始声明时便指向一个对象还是调用对外方法时才建立对象

运行结果20 , 很好的贯彻了单例设计模式只允许建立一个对象的方针

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。