欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > 读《Effective Java》笔记 - 条目15

读《Effective Java》笔记 - 条目15

2025/2/24 1:24:57 来源:https://blog.csdn.net/MaxCosmos2001/article/details/144199763  浏览:    关键词:读《Effective Java》笔记 - 条目15

条目15:最小化类和成员地可访问性

Java中四种访问修饰符

  • public:可以被任何类访问。
  • protected:可以被同一包中的类和子类访问。
  • default(无修饰符):只允许同一包中的类访问。
  • private:只能被当前类访问。

为什么要最小化可访问性?

  1. 减少不必要的依赖:公开的字段或方法会让外部代码依赖于它们的具体实现。如果我们改变了公开的 API,可能会破坏与外部代码的兼容性。通过将字段或方法的访问限制为 privateprotected,可以减少这种风险。
  2. 增强封装性:类内部的实现细节应对外部不可见,避免直接访问类的内部状态,保证类的封装性。封装性好,类就更容易维护和修改。
  3. 提高可测试性:当类的内部细节受限时,我们可以更容易地编写单元测试,专注于类的行为,而不需要关注其实现细节。

遵循原则

  • 尽量使用private修饰符:大多数成员(如字段和方法)应当设为 private,除非它们需要被外部访问。对于字段,private 是最安全的选择。
  • 使用包内访问(default):当类的成员只需要在同一个包内使用时,可以将它们设置为包内访问(即不加修饰符)。这种方式比 public 更严格,也足够灵活,避免了外部不必要的访问。
  • protected 应谨慎使用protected 会让子类和同包类可以访问成员,但它也会暴露给继承类,所以除非有充分理由,不要随意使用 protected。尤其在 Java 的组合优于继承的哲学下,尽量避免继承和公开 protected 成员。
  • public 只用于 API 的必要部分:如果方法或类需要对外提供功能,那么它才应该是 public。但即使是 public,也应当确保其设计对外接口的简洁与清晰,避免暴露不必要的实现细节。
  • 除了作为常量地共有静态final字段外,公有类不应该由任何公有的字段。
  • 确保公有的静态final字段所引用的对象是不可变的

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词