单例模式的回顾

实现单例模式的写法有很多种,下面列出单例的几种常用的写法,在写单例的代码前,回

顾下几个方面内容。

1:单例的作用:保证应用程序中,一个(class)类只有一个实例对象。

2:单例的条件:
[list]
[*]
[*] 构造函数是私有的
[*]
[*] 有一个private static 该类型的实例变量
[*]
[*] 通过一个public static 的getInstance的方法,获取它的引用。继而调用其中的方法
[/list]


方式一:

public class Singleton {

//构造函数声明为private 表示只供内部调用
private Singleton(){};

private static Singleton instance = new Singleton();

public static Singleton getInstance(){
return instance;
}

}


方式二:

public class Singleton {

private Singleton(){};

private static Singleton instance = null;

public synchronized static Singleton getInstance(){
if (null == instance) {
return new Singleton();
}
return instance;
}
}


上面那种形式要更加安全些呢? 大多数的朋友认为第二种形式要更加安全些
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值