相关疑难解决方法(0)

合成方法的惩罚是什么?

在Eclipse下开发Java应用程序时,我收到了关于"通过合成方法访问的方法/值"的警告.解决方案只是将私有访问修饰符更改为默认级别.

这让我想知道:使用合成方法的惩罚是什么?有一些?我假设编译器/ Eclipse会引发警告,但它是如此相关的东西还是可以安全忽略的东西?

我没有在这里看到这些信息,所以我问.

java jvm java-synthetic-methods

16
推荐指数
1
解决办法
2433
查看次数

是否需要将私有嵌套类的内部声明为私有?

经过1000多private秒后private,我发现可能不需要它

public class Outer {

    private static class Inner { // you may drop static
        private void innerMethod() {}
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有任何情况下,该下降privateinnerMethod()将使在差异封装(或使用,由外例如)?想想反思
如果不是,建议放弃它或保持它与编码风格?

我说没有下降,但不知道真的.

编辑:刚刚意识到,这样做到这一点肯定是错误的-至少对于Inner领域 -宣称这些领域的私人然后在外部类中使用它们-因为这会产生('合成’)访问的字节码-这是在最臃肿.太棒了 - 所以现在我更感兴趣的是有一个关于声明这些(Inner的字段,使用的方法Outer)包私有(或公共@JBNizet在评论中说)的安全含义的帐户

java security reflection encapsulation coding-style

2
推荐指数
1
解决办法
226
查看次数