什么时候在Java中使用package-private?
我喜欢使用任何语言的访问控制,但是我发现在Java中,我几乎从不(如果有的话)使用package-
private访问修饰符(或缺少它)。
我知道内部类可以是private
,protected
,或package-private
,但外类只能是package-
private或public
。为什么外层阶级会成为package-
private事实protected
?限制整个包而不是子类看到的类/方法/字段有什么好处?
回答:
package-private
当我想向包外的用户(和其他类)隐藏实现细节时,我使用类和方法。
例如,如果我有一个接口和一个创建该接口实例的工厂类,则可能将实现类作为一个单独的文件,但将其标记为包私有,以便其他人不能使用它,也不会使JavaDoc混乱(如果javadoc设置为仅公开显示)。
如果密封jar文件,则package-
private方法还可以帮助限制谁可以访问这些方法。如果某个方法是公共方法或受保护方法,则子类仍然可以查看和调用该方法,即使该方法位于其他程序包中也是如此。(未密封的jar允许任何人在您的包中创建类,以便他们可以访问包私有或受保护的方法)
以上是 什么时候在Java中使用package-private? 的全部内容, 来源链接: utcz.com/qa/406942.html