摘要: 第4条 通过私有构造器强化不可实例化的能力 只包含静态方法和静态域的工具类。 企图通过将类做成抽象类来强制该类不可被实例化是行不通的。该类可以被子类化,并且该子类也可以被实例化。 // Noninstantiable utility class public class UtilityClass { // Suppress default constructor for noninstantiability private UtilityClass() { throw new AssertionError(); } ... // Remainer om... 阅读全文
posted @ 2013-10-29 21:21 yanjf 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 第3条 用私有构造器或者枚举类型强化Singleton属性 Singleton指仅仅被实例化一次的类。Singleton通常被用来代表那些本质上唯一的系统组件,比如窗口管理器或者文件系统。 方法一: // Singleton with public final field public class Elvis{ public static final Elvis INSTANCE = new Elvis(); pirvate Elvis() {} public void leaveTheBuilding() {....} } 一旦Elvis类被实例化,只会存在一个... 阅读全文
posted @ 2013-10-29 20:08 yanjf 阅读(208) 评论(0) 推荐(0) 编辑