黑马程序员技术交流社区
标题:
5中单例分享
[打印本页]
作者:
阳光的嘉主角
时间:
2014-8-25 10:28
标题:
5中单例分享
本帖最后由 阳光的嘉主角 于 2014-8-25 10:30 编辑
/**
* 单例 1
*
* @Description:饿汉
*/
class
Single01
{
private Single01()
{
}
private static Single01 single = new Single01();
public static Single01 getInstance() {
return single;
}
}
-------------------------------------------------------------------------------------
/**
* 单例 2
*
* @Description:懒汉
*/
class Single02 {
private
Single02
() {
}
private static Single02 single = null;
public static Single02 getInstance() {
if (single == null) {
single = new Single02();
}
return single;
}
}
-------------------------------------------------------------------------------------
/**
* 单例 3
*
* @Description:多线程下使用这个
*/
class Single03 {
private Single03() {
}
private static Single03 single = null;
public static Single03 getInstance() {
if (single == null) {
synchronized (Single03.class) {
if (single == null) {
single = new Single03();
}
}
}
return single;
}
}
-------------------------------------------------------------------------------------
/**
* 单例 4
*
* @Description:
*/
class Single04 {
private Single04() {
}
public static class Single04Holder {
public static final Single04 single = new Single04();
}
public static Single04 getInstance() {
return
Single04Holder.single
;
}
}
-------------------------------------------------------------------------------------
/**
* 单例 4
*
* @Description:
*/
enum Single05
{
// SINGLE();
// public static Single05 getInstance() {
// return Single05.SINGLE;
// }
SINGLE("帅哥", 20);
private String name;
private int age;
private Single05(String name, int age) {
this.name = name;
this.age = age;
}
public static Single05 getInstance() {
return Single05.SINGLE;
}
@Override
public String toString() {
return this.name + "<---age--->" + this.age;
}
}
public class Test {
public static void main(String[] args) {
Single05 single = Single05.getInstance();
System.out.println(single.toString());
}
}
帅哥<---age--->20
作者:
Kikyou
时间:
2014-8-25 10:33
mark,不错,谢谢楼主分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2