我什么时候在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允许任何人在你的包中创建类,以便他们可以访问包私有或受保护的方法) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |