首页 > 代码库 > 单例模式设计

单例模式设计

 1 package SingleDemo; 2  3  4  5  6 //单例模式的设计要点共有3个 7 /* 8 1. 私有化构造函数 9 2.在类内部定义一个堆上对象10 3.对外提供一个接口,将已经定义好的堆上对象以引用的方式返回出去11 12 */13 14 15 16 class Single17 {18     //计数器 19     private int num;20     21     //初始化计数器22     {23         num = 0;24     }25     26     //获取计数器27     public int getNum()28     {29         return num;30     }31     32     33     //构造函数 每当构造一个对象计数器便加一;34     private Single()35     {    36         ++num;37         System.out.println("num=" + num);38     }39     40     //在类内部定义一个对象 //c++是用指针实现41     private static Single s = new Single();42     43     44     //定义一个接口45     public static Single getInstance()46     {47         return s;48     }49     50 }51 52 53 54 //设计模式 入门  单例模式55 public class SingleDemo {56     public static void main(String[] args)57     {58         Single s1 = Single.getInstance();59         Single s2 = Single.getInstance();60         61 62         63         System.out.println(s1.getNum());64         System.out.println(s2.getNum());65     }66     67     68 }

 

打印结果

num=1
1
1  

可见 我们只能定义一个该类的对象

单例模式设计