当我发现这个令人困惑的练习时,我正在处理 SCJP6 转储:
给定在两个不同文件中定义的类:
package packageA;
public class Message {
String getText() { return “text”; }
}
和:
package packageB;
public class XMLMessage extends packageA.Message {
String getText() { return “<msg>text</msg>”;}
public static void main(String[] args) {
System.out.println(new XMLMessage().getText());
}
}
执行 XMLMessage.main 的结果是什么?
A. text
B. Compilation fails.
C. <msg>text</msg>
D. An exception is thrown at runtime.
答案是:B,但我不明白为什么;我认为答案应该是C。