标签:
今天刚刚学的知识,拿来给大家分享分享。
单例模式,顾名思义内存里面只有一个实例。不说废话,下面是代码
一下是懒汉式的代码。
class Single{ private static Single single; private Single(){} public static Single getSingle(){ if(single==null){ single=new Single(); return single; } return single; } }
单例模式就是只允许实例化一个实例,要怎样控制只是实例化一个实例就是这个模式解决的问题。在Single类里面提供了可以实例化的构造方法,不过构造方法的权限是private只有自己可以用,别人是无法实例化的.Single类里面提供了一个可以通过类名来调用的方法,这个方法可以获得Single的实例,为了返回Single类的实例,声明了一个Single类变量,由于方法是static方法,所以只有声明static变量才可以调用。关键的即使要判断Single变量是不是空的,是的话就实例化一个Single实例返回,如果不是的话就放回原有分Single实例。这样就控制了Single类只有一个实例。
下面是饿汉模式的单例实例
class Single{ private static Single single=new Single(); private Single(){} public static Single getInstance(){ return single; } }
以上的Single类里面首先声明一个Single变量Single,Single变量是static类型,所以在类加载的时候就为其初始化所有的工作,包括分配空间和实例化Single变量
并且只会执行一次,控制好Single的构造方法私有化。提供一个getInstance方法返回已经是实例化之后的Single变量。
标签:
原文地址:http://www.cnblogs.com/fuxisong1/p/4204573.html