1
3
你把两个不同的问题混为一谈。
你链接的问题是关于一个单独的功能
基本上,在非常早期的Java版本中,超级调用的编译被打破了。在编译超类调用时,它将插入
注意,这仍然不允许您在不相关的类中调用方法——这个问题只与编译后在同一继承中添加的同一方法的不同重写有关。
在Java作者意识到他们的错误之后,他们更新了JVM的处理方法。
但是,他们担心旧版本的Java编译的代码依赖于被破坏的行为,因此为了向后兼容,他们添加了一个新的CaseFrand标志,
直到2011年。结果是
不幸的是,修复此安全漏洞的唯一方法是删除
所以答案是否定的,在7U13之后,没有任何方法可以获得Java版本中的超级调用的旧行为,或者是任何实现安全修复的更新。 |