effective java
文章平均质量分 53
认真的学生
这个作者很懒,什么都没留下…
展开
-
第1条:考虑用静态工厂方法代替构造器
public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : Boolean.FALSE; } 好处: 1、静态工厂方法有名称:一个类只能有一个带有指定签名的构造器。不能只在参数类型的顺序上有所不同。因为用户永远也记不住该用哪个构造器。 2、不必再每次调用它们的时候都创建一个新的对象。 pr原创 2016-03-28 14:41:01 · 533 阅读 · 0 评论 -
第2条:遇到多个构造器参数时要考虑用构造器
当一个类的有很多的属性时,为它创建构造器可以使用重叠构造器模式,及每一个构造器都比前一个构造器多一个属性。 重叠构造器模式可行,但是当有许多参数的时候,客户端代码会很难编写,并且仍然较难以阅读。 遇到许多构造器参数的时候,还有第二种代替办法,即JavaBeans模式,在这种模式下,调用一个无参构造器来创建对象,然后调用setter方法来设置每个必要的参数,以及每个相关的可选参数。 遗憾的是,原创 2016-07-26 10:28:51 · 614 阅读 · 0 评论 -
第3条:用私有构造器或者枚举类型强化Singleton属性
酷 壳 – CoolShell.cn 酷 壳 – CoolShell.cn 单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。你希望这个类在整个系统中只能出现一转载 2016-07-26 10:30:28 · 557 阅读 · 0 评论 -
java枚举类型enum的使用
为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义。既然不明白就抽时间研究下吧。 Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型转载 2016-07-26 10:39:25 · 373 阅读 · 0 评论 -
第4条:通过私有构造器强化不可实例化的能力
有时候我们创建一些工具类,这些工具类可能是final的,它的属性和方法都是static声明的。这时候我们不需要实例化这些类,为了防止用户实例化这些类,我们可以使用private声明空构造器 private Person(){} 避免子类继承后实例化父类原创 2016-07-26 12:07:34 · 273 阅读 · 0 评论