![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Effective Java
密斯特白
这个作者很懒,什么都没留下…
展开
-
1.考虑用静态工厂方法代替构造器
1.考虑用静态工厂方法代替构造器 例子: public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : Boolean.FALSE;} 使用静态工厂替代构造器的优势: 1)他们有名称 2)不必每次调用都产生新的对象 3)可以返回原返回类型任何子类型的对象 4)创建参数...2012-08-16 16:54:22 · 73 阅读 · 0 评论 -
2.遇到多个构造器参数时要考虑用构建器
使用builder模式生成对象,参考示例代码// Builder Patternpublic class NutritionFacts {private final int servingSize;private final int servings;private final int calories;private final int fat;private ...2012-09-04 15:24:15 · 73 阅读 · 0 评论 -
3.用私有构造器或枚举类型强化SIngleton属性
Singleton指仅仅被实例化一次的类。实现Singleton的两种方法:1.// Singleton with public final fieldpublic class Elvis { public static final Elvis INSTANCE = new Elvis(); private Elvis() { ... } pub...2012-09-04 15:55:19 · 99 阅读 · 0 评论 -
4.通过私有构造器强化不可实例化的能力
对于不需要实例化的类,我们需要添加一个私有的构造器来防止编译器自动添加一个缺省的无参构造器,这样这个类就不能被实例化了。// Noninstantiable utility classpublic class UtilityClass {// Suppress default constructor for noninstantiabilityprivate UtilityC...2012-09-04 16:26:02 · 85 阅读 · 0 评论 -
5.避免创建不必要的对象
最好能重用对象,而不是每次使用时都创建一个新的。如果对象是不可变得,那它就始终可以被重用。对于同时提供构造器和静态工厂方法的类,通常使用静态工厂方法,以避免创建不必要的对象。要优先使用基本类型,避免不必要的自动装箱。 ...2012-09-04 16:44:39 · 159 阅读 · 0 评论