java基础学习之单例设计模式学习

  最近狂补java基础的我重新学习了下单例,下面直接贴出代码,以作备忘

 1 package com.darling.single;
 2 
 3 /**
 4  * 单例模式
 5  *         单例即在内存中只存在该类的一个实例,要想实现这个需求首先得满足以下三点:
 6  *             1、不让调用者new对象(否则会产生多个实例)
 7  *             2、自己new对象
 8  *             3、暴露获取自身对象的方法
 9  * @author Administrator
10  *
11  */
12 public class SingleDemo {
13     /**
14      * 1、不让调用者new对象可以通过私有化构造函数来实现
15      */
16     private SingleDemo(){}
17     
18     /**
19      * 2、自己new对象(自己创建自己的实例)  饿汉模式
20      */
21     private static SingleDemo s = new SingleDemo();
22     
23     /**
24      * 3、暴露获取自身实例的方法(饿汉模式)
25      */
26     public static SingleDemo getInstance() {
27         return s;
28     }
29     
30     /**
31      * 2、自己new对象(自己创建自己的实例)  懒汉模式
32      */
33     private static SingleDemo sLazy = null;
34     
35     /**
36      * 3、暴露获取自身实例的方法(懒汉模式)
37      */
38     public static SingleDemo getLazyInstance() {
39         if(sLazy == null) {
40             sLazy = new SingleDemo();
41         }
42         return sLazy;
43     }
44 }

 

posted @ 2017-07-26 16:21  木木他爹  阅读(112)  评论(0编辑  收藏  举报