加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

我什么时候在Java中使用package-private?

发布时间:2020-12-15 02:52:55 所属栏目:Java 来源:网络整理
导读:参见英文答案 Pros and cons of package private classes in Java?8个 我喜欢任何语言的访问控制,但我发现在Java中我几乎从不(如果曾经)使用 package-private访问修饰符(或缺少它). 我意识到内部类可以是私有的,受保护的或包私有的,但外部类只能是包私有或公
参见英文答案 > Pros and cons of package private classes in Java?8个
我喜欢任何语言的访问控制,但我发现在Java中我几乎从不(如果曾经)使用 package-private访问修饰符(或缺少它).

我意识到内部类可以是私有的,受保护的或包私有的,但外部类只能是包私有或公共的.为什么外部类可以是包私有但不受保护?限制整个包可以看到的类/方法/字段有什么好处,而不是子类?

解决方法

当我想隐藏包外的用户(和其他类)的实现细节时,我使用包私有类和方法.

例如,如果我有一个接口和一个工厂类来创建该接口的实例,我可能将实现类作为一个单独的文件,但将其标记为package-private,以便其他人不能使用它,也不会混乱JavaDoc(如果是javadoc)设置为仅显示公共).

如果密封jar文件,package-private方法也可以帮助限制谁可以访问这些方法.如果方法是公共的或受保护的,则子类仍然可以查看并调用该方法,即使它位于不同的包中. (未密封的jar允许任何人在你的包中创建类,以便他们可以访问包私有或受保护的方法)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读