在Eclipse下开发Java应用程序时,我收到了关于"通过合成方法访问的方法/值"的警告.解决方案只是将私有访问修饰符更改为默认级别.
这让我想知道:使用合成方法的惩罚是什么?有一些?我假设编译器/ Eclipse会引发警告,但它是如此相关的东西还是可以安全忽略的东西?
我没有在这里看到这些信息,所以我问.
经过1000多private秒后private,我发现可能不需要它
public class Outer {
private static class Inner { // you may drop static
private void innerMethod() {}
}
}
Run Code Online (Sandbox Code Playgroud)
是否有任何情况下,该下降private从innerMethod()将使在差异封装(或使用,由外例如)?想想反思
如果不是,建议放弃它或保持它与编码风格?
我说没有和下降,但不知道真的.
编辑:刚刚意识到,这样我做到这一点肯定是错误的-至少对于Inner的领域 -宣称这些领域的私人然后在外部类中使用它们-因为这会产生('合成’)访问的字节码-这是在最臃肿.太棒了 - 所以现在我更感兴趣的是有一个关于声明这些(Inner的字段,使用的方法Outer)包私有(或公共@JBNizet在评论中说)的安全含义的帐户