我工作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.
你是否试过*编译示例代码? – 2014-11-04 17:44:09
您是否尝试过运行它? – 2014-11-04 17:54:52
你确定在第2.5行的某处没有'@ Override'吗?因为它编译和打印'文本 '。 –
zapl
2014-11-04 18:01:19