发布于 2015-02-25 04:54:18
如果我们运行这个测试
class A {
static void x() {
System.out.println("A");
}
}
class B extends A {
static void x() {
System.out.println("B");
}
}
class Test {
public static void main(String[] args) throws Exception {
A a = new B();
a.x();
}
}如果方法x()是多态的,它将打印B。
发布于 2015-02-25 04:43:34
发布于 2015-02-25 04:45:49
运行时的多态以“动态分派”的形式出现。也就是说,被调用的实际方法是根据调用方法的实际实例来确定的。显然,这仅当您有一个类的实例时才适用,因此严格地说,多态不适用于隐藏静态方法。以进一步解释差异检查这里。
https://stackoverflow.com/questions/28711259
复制相似问题