单态(单例)设计模式
什么是设计模式
在编程过程中我们经常会遇到一些典型的问题或需要完成某种特定需求,而这些问题和需求前人也曾经遇到过,他们经过大量理论总结和实践验证之后优选出的代码结构、编程风格、以及解决问题的思考方式,这就是设计模式(Design pattern)。设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免得我们自己再去思考和摸索。
单态(单例)设计模式
单态设计模式(Singleton pattern)就是要保证在整个程序中某个类只能存在一个对象,这个类不能再创建第二个对象。
单态设计模式的写法
1.私有化构造函数,阻止创建新对象。
2.由于需要返回一个对象,那么我们就需要在类内部自己创建一个对象,并使用成员变量记住它。
3.由于该类不能创建对象,所以这个成员变量不能是普通的成员变量,需要静态,这样在类加载之后就可以创建一个唯一的对象了。
4.我们不希望其他类修改这个成员变量,所以将其私有。
5.提供一个公有的方法用来获取唯一的一个对象。
6.这个方法由于需要在不创建对象的情况下使用,所以需要静态。
1 /* 2 * 1.私有化构造函数,阻止外部创建对象 3 * 2.内部创建一个对象,用一个成员变量引用 4 * 成员变量为不创建对象就能被外部使用,所以用static修饰 5 * 只用static修饰,外部得到这个变量时仍可以修改其值,所以, 6 * 为了避免其他类对这个成员变量进行个改,也对其私有化(private修饰) 7 * 3.为了能让其他类这个成员变量,声明一个公有方法,方法中返回该对象,这个方法由于需要在不创建对象的情况下使用,所以需要静态 8 */ 9 class SingletonTest{ 10 //2 11 private static SingletonTest singletonTest = new SingletonTest(); 12 //1 13 private SingletonTest(){ 14 15 } 16 //3 17 public static SingletonTest getInstance(){ 18 return singletonTest; 19 } 20 21 }