mirror of
https://github.com/Jueee/effective-Java.git
synced 2025-03-14 03:10:42 +08:00
《Effective Java 第三版》学习笔记
Bumps [junit](https://github.com/junit-team/junit4) from 3.8.1 to 4.13.1. - [Release notes](https://github.com/junit-team/junit4/releases) - [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.1.md) - [Commits](https://github.com/junit-team/junit4/commits/r4.13.1) Signed-off-by: dependabot[bot] <support@github.com> |
||
---|---|---|
ch02创建和销毁对象 | ||
ch03所有对象的通用方法 | ||
ch04类和接口 | ||
ch05泛型 | ||
ch06枚举和注解 | ||
_config.yml | ||
README.md |
说明
目录
ch02.创建和销毁对象
- 考虑使用静态工厂方法替代构造方法
- 当构造方法参数过多时使用builder模式
- 使用私有构造方法或枚类实现Singleton属性
- 使用私有构造方法执行非实例化
- 使用依赖注入取代硬连接资源
- 避免创建不必要的对象
- 消除过期的对象引用
- 避免使用Finalizer和Cleaner机制
- 使用try-with-resources语句替代try-finally语句
ch03.所有对象的通用方法
ch04.类和接口
- 使类和成员的可访问性最小化
- 在公共类中使用访问方法而不是公共属性
- 最小化可变性
- 组合优于继承
- 要么设计继承并提供文档说明,要么禁用继承
- 接口优于抽象类
- 为后代设计接口
- 接口仅用来定义类型
- 类层次结构优于标签类
- 支持使用静态成员类而不是非静态类
- 将源文件限制为单个顶级