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

单例模式

时间:2015-07-30 16:36:29      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

两种方法

 

方法一:

技术分享
 1 /**
 2  * @author       Jay
 3  * @time         2015年7月30日
 4  */
 5 public class Singleton {
 6 
 7     //1.将构造方法私有化,外部不能创建实例
 8     private Singleton(){
 9     }
10     
11     //2.创建类的唯一实例
12     private static Singleton instance = new Singleton();
13     
14     
15     //3.提供一个用于获取实例的方法
16     public static Singleton getInstance(){
17         return instance;
18     }
19 }
View Code

方法二:

技术分享
 1 /**
 2  * @author       Jay
 3  * @time         2015年7月30日
 4  */
 5 public class Singleton2 {
 6     
 7     //1.将构造方法私有化,外部不能创建实例
 8     private Singleton2(){
 9     }
10     
11     // 2.创建类的唯一实例
12     private static Singleton2 instance;
13     
14     // 3.提供一个用于获取实例的方法
15     public static Singleton2 getInstance(){
16         if(null == instance){
17             instance = new Singleton2();
18         }
19         return instance;
20     }
21 }
View Code

 

测试:

技术分享
 1 /**
 2  * 单列模式
 3  * @author     Jay
 4  * @time     2015年7月30日
 5  */
 6 public class Test {
 7     public static void main(String[] args) {
 8         // 方法一
 9         Singleton s1 =  Singleton.getInstance();
10         Singleton s2 =  Singleton.getInstance();
11         System.out.println(s1==s2);
12         
13         // 方法二
14         Singleton2 s3 =  Singleton2.getInstance();
15         Singleton2 s4 =  Singleton2.getInstance();
16         System.out.println(s3==s4);
17     }
18 }
View Code

 

单例模式

标签:

原文地址:http://www.cnblogs.com/scoprion/p/4689260.html

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