目录 创建和销毁对象考虑用静态工厂方法代替构造器遇到多个构造器参数时要考虑用构造器用私有构造器或枚举类型强化Singleton属性通过私有构造器强化不可实例化的能力避免创建不必要的对象消除过期的对象引用避免使用终极方法 对于所有对象都通用的方法覆盖equals时请遵守通用约定覆盖equals时总要覆盖hashCode始终要覆盖toString谨慎地覆盖clone考虑实现Comparable接口 类和接口使类和成员的可访问性最小化在共有类中使用访问方法而非公有域使可变性最小化复合优先于继承要么为继承而设计,并提供文档说明,要么就禁止继承接口优于抽象类接口只用于定义类型类层次优于标签类用函数对象表示策略优先考虑静态成员类 创建和销毁对象 考虑用静态工厂方法代替构造器 遇到多个构造器参数时要考虑用构造器 用私有构造器或枚举类型强化Singleton属性 通过私有构造器强化不可实例化的能力 避免创建不必要的对象 消除过期的对象引用 避免使用终极方法 对于所有对象都通用的方法 覆盖equals时请遵守通用约定 覆盖equals时总要覆盖hashCode 始终要覆盖toString 谨慎地覆盖clone 考虑实现Comparable接口 类和接口 使类和成员的可访问性最小化 在共有类中使用访问方法而非公有域 使可变性最小化 复合优先于继承 要么为继承而设计,并提供文档说明,要么就禁止继承 接口优于抽象类 接口只用于定义类型 类层次优于标签类 用函数对象表示策略 优先考虑静态成员类