Effective Java Book Tips

1、创建和销毁对象篇

1 静态工厂代替构造器

2 构造函数有多个参数时要考虑使用构建器

3 使用private构造器或枚举类型强化Singleton属性

4 使用privete的构造函数强化不可实例化的能力

5 引用资源时应优先考虑依赖注入

6 避免创建不必要的对象

7 消除过期的对象引用

8 避免使用终结方法和清除方法

9 try-with-resources优先于try-finally

2、对象通用方法篇

10 覆盖equals时要遵守通用约定

11 覆盖equals时总要覆盖hashCode

12 始终要覆盖toString

13 谨慎地覆盖clone

14 考虑实现Comparable接口

类和接口篇

15 使类和成员的可访问性最小化

16 在public类中使用访问方法而不是public属性

17 可变性最小化原则

18 复合优先于继承

19 要么设计继承并提供文档,要么禁止继承

20 接口优于抽象类

21 为后代设计接口

22 接口只用于定义类型

23 类层次优于标签类

24 静态成员类优于非静态成员类

25 一个文件只定义一个顶级类

泛型篇

26 不要使用原始类型(如List)

27 消除非受检的警告

28 列表优于数组

29 优先考虑泛型

30 优先考虑泛型方法

31 利用限定通配符来提升API的灵活性

PECS

32 合理地结合泛型和可变参数

33 优先考虑类型安全的异构容器

枚举 & 注解篇

34 用enum代替int常量

35 用实际属性代替序数

36 使用 EnumSet 替代位属性

37 使用EnumMap 替代序数索引

38 用接口实现可继承的枚举

39 注解优先于命名模式

40 坚持使用Override注解

41 用标记接口定义类型

你可能感兴趣的:(学习书籍,java,开发语言)