A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Woo 中级黑马   /  2015-8-25 17:28  /  247 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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. }
复制代码



2 个回复

倒序浏览
哈哈你这够彻底的哦  隐藏起来  还静态  还不准修改  只能创建这么一次了.    一般好像都不需要final除非你这个对象是真正只需要创建一次
回复 使用道具 举报
代码是参考wikipedia的Singleton中的Eager initialization,final这个关键字我确实还要再想一想
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马