我希望方法选择要考虑实际的(而不是声明的)参数类型。我想念什么吗?
是。您的期望是错误的。在Java中,动态方法分派仅发生在调用方法的对象上,而不发生在重载方法的参数类型上。
引用Java语言规范:
调用方法时(第15.12节),实际参数(和任何显式类型参数)的数量以及参数的编译时类型 在编译时用于确定将被调用的方法的签名( §15.12.2)。如果要调用的方法是实例方法,则将在运行时使用动态方法查找(第15.12.4节)确定要调用的实际方法。

我希望方法选择要考虑实际的(而不是声明的)参数类型。我想念什么吗?
是。您的期望是错误的。在Java中,动态方法分派仅发生在调用方法的对象上,而不发生在重载方法的参数类型上。
引用Java语言规范:
调用方法时(第15.12节),实际参数(和任何显式类型参数)的数量以及参数的编译时类型 在编译时用于确定将被调用的方法的签名( §15.12.2)。如果要调用的方法是实例方法,则将在运行时使用动态方法查找(第15.12.4节)确定要调用的实际方法。