java单例模式详解

class Single
	{
		//你声明的是一个static属性,那么它就会在虚拟机加载这个类的时候就帮你实例化好,
<span style="white-space:pre">		</span>//以后不再执行了,这个single对象会在虚拟机运行时一直存在于内存之中,
<span style="white-space:pre">		</span>//所以static single s = new single();
<span style="white-space:pre">		</span>//这句话只会被调用一次,所以自然就只有这一个对象啦
		private static Single s = new Single();
		//这个私有的构造函数就是为了防止别的类进行New操作
                //构造函数私有化,那么只能在类里调用,在外部无法访问这个构造函数
		private Single(){}
<span style="white-space:pre">		</span>//Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。
		public static Single getOne()
		{
			return s;
		}
	}
	class demo3{
		public static void main(String[] args){
			Single s = Single.getOne();
			
		}
	}
单例模式有以下三个特征:
  <span style="color: rgb(0, 128, 0);"><span lang="EN-US">1</span>、单例类只能有一个实例。<span lang="EN-US">
</span>  <span lang="EN-US">2</span>、单例类必须自己自己创建自己的唯一实例。<span lang="EN-US">
</span>  <span lang="EN-US">3</span>、单例类必须给所有其他对象提供这一实例。<span lang="EN-US">
</span></span>

你可能感兴趣的:(java单例模式详解)