黑马程序员技术交流社区

标题: 单例模式最核心的概念和实现 [打印本页]

作者: Woo    时间: 2015-8-25 17:28
标题: 单例模式最核心的概念和实现
本帖最后由 Woo 于 2015-8-25 17:34 编辑

刚开始接触设计模式,对没有什么项目经验的我们来说确实有些陌生,不过设计模式的存在本来就是为了让问题简单化而不是复杂化的,所以不必畏惧。
单例模式的主要特征就是一个类只创建一个实例
要实现这个目的其实主要是两个方面
1.我在类里面来创建一个实例
2.除此之外,谁也别想在别的地方创建这个类的其他实例,只能取得我在类中创建的实例
要做到第一步:把构造函数私有化、并且在类中构造一个本类的实例
要做到第二步:在本类中创建一个能够让别人取得我实例的方法

  1. public class Singleton {
  2.     private static final Singleton INSTANCE = new Singleton();

  3.     private Singleton() {}\\把构造函数私有化、并且在类中创建一个本类的实例

  4. \\在本类中创建一个能够让别人取得我实例的方法
  5. \\为什么要用static的方法:因为方法被调用只有两种①通过类名调用②通过对象名调用,这里并没有创建具体的对象,所以用类调用
  6.     public static Singleton getInstance() {
  7.         return INSTANCE;
  8.     }
  9. }
复制代码




作者: boboyuwu    时间: 2015-8-25 17:41
哈哈你这够彻底的哦  隐藏起来  还静态  还不准修改  只能创建这么一次了.    一般好像都不需要final除非你这个对象是真正只需要创建一次
作者: Woo    时间: 2015-8-25 17:57
代码是参考wikipedia的Singleton中的Eager initialization,final这个关键字我确实还要再想一想




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2