码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-11-08 13:28:25      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:ber   实现   let   tin   enum   ati   []   rate   int   

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属性

标签:ber   实现   let   tin   enum   ati   []   rate   int   

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

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