私有的嵌套类(内部或静态)是否可以使用带有公共访问权限的方法?

我正在为Java初学者读一本书。我看到了一个使用公共方法声明私有嵌套内部类的示例。有人可以解释一下我的意思,我又该如何确定私有嵌套类(静态/内部)方法是私有的还是公共的?

xxnj916 回答:私有的嵌套类(内部或静态)是否可以使用带有公共访问权限的方法?

私有嵌套类仅在其封闭类内部可见,并且封闭类(和其他嵌套类)可以访问其私有方法。

因此,将其方法公开或私有对编译器没有太大影响,除非嵌套类当然扩展了基类或实现了接口,因此必须将其覆盖的方法公开。在使用reflaction进行调用时,也可能需要将方法公开(例如,如果其实例被序列化为JSON或XML,或者在JSP中访问了它们)。

我倾向于选择使用与未嵌套类相同的规则公开和私有的内容。对我来说,这更清楚一些私有方法不属于其公共API的一部分,因此不应在嵌套类本身之外使用。而且,如果我将嵌套类重构为顶级类,则无需进行任何更改。

本文链接:https://www.f2er.com/2957249.html

大家都在问