即使不需要在课堂外访问该方法,使用方法作为公众是否会对性能产生影响?
答案 0 :(得分:6)
没有。对方法更加明显没有性能影响。但是,为代码的功能公开更多方法并不是最佳实践。
答案 1 :(得分:4)
性能影响很小,但它与方法是否可覆盖有关,而与方法是否公开无关。粗略地讲一种满足以下所有条件的方法:
private
static
final
被认为是可覆盖的(即:可以被子类中的方法覆盖),因此编译器无法确定(在编译时)在给定调用站点调用的确切实现。因此,有一个运行时机制在实际调用时执行此解决方案(a.k.a 动态绑定)。此运行时解析通过非常有效的实现来实现,并且通常由JVM根据程序的行为进行大量优化,因此总体损失很小。
答案 2 :(得分:0)
当不需要在类范围外调用公共方法时,使用公共方法会引发安全问题,而不会引发性能问题。