码迷,mamicode.com
首页 > 编程语言 > 详细

java单例模式

时间:2015-01-05 21:55:40      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

   今天刚刚学的知识,拿来给大家分享分享。

单例模式,顾名思义内存里面只有一个实例。不说废话,下面是代码

一下是懒汉式的代码。

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变量。

 

java单例模式

标签:

原文地址:http://www.cnblogs.com/fuxisong1/p/4204573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!