在我经历1000 privates 之后private,可能不需要
private
public class Outer { private static class Inner { // you may drop static private void innerMethod() {} } }
是否有 任何情况下, 该下降private从innerMethod()将使在差异 封装 (或 使用 例如,通过外)?还考虑思考 如果 不 建议将其删除或使其与编码风格保持一致?
innerMethod()
我说 没有 和 下降 ,但不知道真的。
编辑: 刚意识到 我 的方式肯定是错误的-至少对于Inner的 字段 -声明这些字段为私有字段,然后在外部类中使用它们- 因为这会在字节码中生成( “ synthetic” )访问器- 这是在至少肿。大-所以现在我更感兴趣的对这些声明的安全影响的帐户(Inner的领域,在使用的方法Outer)包专用(或公众@JBNizet在评论中说的)
Inner
Outer
答案取决于您当前使用内部类的方式。
我对内部类的哲学是减轻重构的负担。我维护内部类的封装:内部类的private方法和字段即使可以访问, 也不 能从外部类访问。因此,内部类的重点是将其范围缩小到仅包含类。这样,如果以后一个内部类可以在其他地方重用,则几乎不需要任何工作(非static内部类的工作量很小)就可以将其移动到自己的文件中。
static
上面的内容是否是您的样式,将影响以下丢弃或保留private周围方法/字段的原因。
删除的原因private是:
拒绝删除的原因private是:
public
鉴于上述样式,我认为反对删除的理由更强。