首页 > 其他 > 详细

用私有化构造器或者枚举类型强化Singleton属性

时间:2017-11-08 12:43:10      阅读:254      评论:0      收藏:0      [点我收藏+]

public class Elvis {

//第一种静态成员是一个final域
public static final Elvis INSTANCE = new Elvis();

//第二种公有成员是一个静态工厂方法
private static final Elvis INSTANCE2 = new Elvis();

public static Elvis getInstance() { return INSTANCE2; }

public static void main(String[] args) {
// TODO Auto-generated method stub

}

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////

public enum Elvis {
INSTANCE;

private Elvis(){
System.out.println("构造器");
}

public void print(int i) {
System.out.println("number: " + i);
}

public static void main(String[] args) {
// TODO Auto-generated method stub
Elvis e1 = Elvis.INSTANCE;
Elvis e2 = Elvis.INSTANCE;
Elvis e3 = Elvis.INSTANCE;

e1.print(1);
e2.print(2);
e3.print(3);

}

}

 

单元素的枚举类型已经成为实现Singleton的最佳方法

 

用私有化构造器或者枚举类型强化Singleton属性

原文:http://www.cnblogs.com/mzxl1987/p/7803371.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!