似乎openJDK 8将final
既不是也不是static
vtable的私有方法放置了。如果动态绑定未用于私有方法(因为它们是通过invokespecial调用的),为什么会使用它呢?
当超类中存在具有相同名称和签名的可重写方法时,这样做是为了处理一些罕见的情况。尽管肯定有改进的地方,但是可能针对JDK 9。
参见https://bugs.openjdk.java.net/browse/JDK-8024368
私有方法总是获得一个vtable条目来处理与类的向后兼容性-即,您可以在类的本地使用同一个私有方法的名称,也可以从您的超类继承一个方法,该方法将被您的私有方法继承儿童。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句