我有这个代码:
public class Superclass {
public void print() {
System.out.println("super");
}
}
public class Subclass extends Superclass {
public void print() {
System.out.println("sub");
}
}
然后这个:
Subclass obj4 = new Subclass();
((Superclass) obj4).print();
我认为上面的打印语句打印“super”,因为它被转换为超类,但事实并非如此 - 它打印“sub”。为什么是这样?