请告诉我,现在我正在阅读Bruce Eckel - Java Philosophy,它是用 Java 编写的(241 页)
Java中所有方法的绑定都是多态的,通过后期绑定
同时它写得更早一点
所有 Java 方法都使用后期绑定,除非该方法已被声明为 final。
嗯,我在网上找了资料:调用静态方法和方法通过super使用早期绑定。
第一个陈述是错误的吗?
请告诉我,现在我正在阅读Bruce Eckel - Java Philosophy,它是用 Java 编写的(241 页)
Java中所有方法的绑定都是多态的,通过后期绑定
同时它写得更早一点
所有 Java 方法都使用后期绑定,除非该方法已被声明为 final。
嗯,我在网上找了资料:调用静态方法和方法通过super使用早期绑定。
第一个陈述是错误的吗?
可能翻译困难。原文是这样写的(第 4 版,第 196 页):
并进一步:
那些。多态性通过后期结合机制起作用。
这在逻辑上是静态的 final 和私有方法不能被覆盖,所以它们的绑定发生在编译期间(早期绑定),据我了解,例如 this.execute() 方法,你不会在编译时理解 this 是什么时间?所以后期绑定只适用于可以被覆盖和绑定发生的方法