Effective Java 笔记

2017-04-08  本文已影响38人  拾壹北

2017-04-08

基本原则

第1条:考虑用静态工厂方法代替构造器

考虑用静态工厂方法返回类的实例,例如:

public static Boolean valueOf(boolean b) {
  return b ? Boolean.TRUE : Boolean.FALSE;
}

这样做的优势在于:

1、静态工厂方法具有有意义的名字,见名知意:

如:BigInteger.probablePrime方法得到可能为素数

2、不必在每次调用时都创建新的对象:

这使得不可变类可以被预先创建、避免创建不必要的重复类

3、子类化:可以返回原返回类型的任何子类对象

这种技术适用于基于接口的框架,例如Guava集合接口对集合、同步集合的便利实现;静态工厂方法返回对象所属的类,在编写包含该静态工厂方法的类时可以不必存在,这种灵活的静态工厂方法构成了服务提供者框架。

4、在创建参数化类型实例的时候,他们使代码更加简洁

第2条:遇到多个构造器参数时考虑用构建器(Builder)


第3条:用私有构造器或者枚举类型强化Singleton属性


第4条:通过私有构造器强化不可实例化的能力


第5条:避免创建不必要的对象


第6条:消除过期的对象引用


第7条:避免使用终结方法(finalizer)


第8条:覆盖equals是请遵守通用约定


第9条:覆盖equals是总要覆盖hashcode


第10条:始终要覆盖toString


第11条:谨慎的覆盖clone


第12条:考虑实现Comparable接口

上一篇 下一篇

猜你喜欢

热点阅读