Effective Java 3rd

白天 夜间 首页 下载 阅读记录
  我的书签   添加书签   移除书签

40. 始终使用 Override 注解

浏览 94 扫码 分享 2022-07-10 05:38:39

若有收获,就点个赞吧

0 人点赞

上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • Effective Java 3rd
    • 写在前面
    • 第二章 创建和销毁对象
      • 1. 考虑使用静态工厂方法替代构造方法
      • 2. 当构造方法参数过多时使用 builder 模式
      • 3. 使用私有构造方法或枚类实现 Singleton 属性
      • 4. 使用私有构造器执行非实例化
      • 5. 依赖注入优于硬连接资源(hardwiring resources)
      • 6. 避免创建不必要的对象
      • 7. 消除过期的对象引用
      • 8. 避免使用 Finalizer 和 Cleaner 机制
    • 第三章 所有对象的通用方法
      • 9. 使用 try-with-resources 语句替代 try-finally 语句
      • 10. 重写 equals 方法时遵守通用约定
      • 11. 重写 equals 方法时同时也要重写 hashcode 方法
      • 12. 始终重写 toString 方法
      • 13. 谨慎地重写 clone 方法
      • 14. 考虑实现 Comparable 接口
    • 第四章 类和接口
      • 15. 使类和成员的可访问性最小化
      • 16. 在公共类中使用访问方法而不是公共属性
      • 17. 最小化可变性
      • 18. 组合优于继承
      • 19. 要么设计继承并提供文档说明,要么禁用继承
      • 20. 接口优于抽象类
      • 21. 为后代设计接口
      • 22. 接口仅用来定义类型
      • 23. 类层次结构优于标签类
      • 24. 支持使用静态成员类而不是非静态类
      • 25. 将源文件限制为单个顶级类
    • 第五章 泛型
      • 26. 不要使用原始类型
      • 27. 消除非检查警告
      • 28. 列表优于数组
      • 29. 优先考虑泛型
      • 30. 优先使用泛型方法
      • 31. 使用限定通配符来增加 API 的灵活性
      • 32. 合理地结合泛型和可变参数
      • 33. 优先考虑类型安全的异构容器
    • 第六章 枚举和注解
      • 34. 使用枚举类型替代整型常量
      • 35. 使用实例属性替代序数
      • 36. 使用 EnumSet 替代位属性
      • 37. 使用 EnumMap 替代序数索引
      • 38. 使用接口模拟可扩展的枚举
      • 39. 注解优于命名模式
      • 40. 始终使用 Override 注解
      • 41. 使用标记接口定义类型
    • 第七章 Lambda 表达式和 Stream流
      • 42. lambda 表达式优于匿名类
      • 43. 方法引用优于 lambda 表达式
      • 44. 优先使用标准的函数式接口
      • 45. 明智审慎地使用 Stream
      • 46. 优先考虑流中无副作用的函数
      • 47. 优先使用 Collection 而不是 Stream 来作为方法的返回类型
      • 48. 谨慎使用流并行
    • 第八章 方法
      • 49. 检查参数有效性
      • 50. 必要时进行防御性拷贝
      • 51. 仔细设计方法签名
      • 52. 明智审慎地使用重载
      • 53. 明智审慎地使用可变参数
      • 54. 返回空的数组或集合,不要返回 null
      • 55. 明智审慎地返回 Optional
      • 56. 为所有已公开的 API 元素编写文档注释
    • 第九章 通用编程
      • 57. 最小化局部变量的作用域
      • 58. for-each 循环优于传统 for 循环
      • 59. 了解并使用库
      • 60. 若需要精确答案就应避免使用 float 和 double 类型
      • 61. 基本数据类型优于包装类
      • 62. 当使用其他类型更合适时应避免使用字符串
      • 63. 当心字符串连接引起的性能问题
      • 64. 通过接口引用对象
      • 65. 接口优于反射
      • 66. 明智审慎地使用本地方法
      • 67. 明智审慎地进行优化
      • 68. 遵守被广泛认可的命名约定
    • 第十章 异常
      • 69. 只针对异常的情况下才使用异常
      • 70. 对可恢复的情况使用受检异常,对编程错误使用运行时异常
      • 71. 避免不必要的使用受检异常
      • 72. 优先使用标准的异常
      • 73. 抛出与抽象对应的异常
      • 74. 每个方法抛出的异常都需要创建文档
      • 75. 在细节消息中包含失败一捕获信息
      • 76. 保持失败原子性
      • 77. 不要忽略异常
    • 第十一章 并发
      • 78. 同步访问共享的可变数据
      • 79. 避免过度同步
      • 80. executor 、task 和 stream 优先于线程
      • 81. 并发工具优于 wait 和 notify
      • 82. 文档应包含线程安全属性
      • 83. 明智审慎的使用延迟初始化
      • 84. 不要依赖线程调度器
    • 第十二章 序列化
      • 85. 优先选择 Java 序列化的替代方案
      • 86. 非常谨慎地实现 Serializable
      • 87. 考虑使用自定义的序列化形式
      • 88. 保护性的编写 readObject 方法
      • 89. 对于实例控制,枚举类型优于 readResolve
      • 90. 考虑用序列化代理代替序列化实例
暂无相关搜索结果!

    让时间为你证明

    展开/收起文章目录

    分享,让知识传承更久远

    文章二维码

    手机扫一扫,轻松掌上读

    文档下载

    请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
    PDF文档 EPUB文档 MOBI文档

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度

        思维导图备注