只是通过实验,我发现即使在静态上下文中,Java 非静态方法也会覆盖范围内所有相同命名的方法。即使不允许参数重载。像
import java.util.Arrays;
import static java.util.Arrays.toString;
public class A {
public static void bar(Object... args) {
Arrays.toString(args);
toString(args); //toString() in java.lang.Object cannot be applied to (java.lang.Object[])
}
}
我在规范中找不到任何关于此的内容。这是一个错误吗?如果不是,是否有任何理由实现这样的语言?
UPD:Java 6 不编译此示例。问题是——为什么?