【发布时间】:2018-09-10 03:27:00
【问题描述】:
我在 Oracle 网站上查看 Java 8 Programmer I 考试的样题时遇到了以下问题:
abstract class Writer {
public static void write() {
System.out.println("Writing...");
}
}
class Author extends Writer {
public static void write() {
System.out.println("Writing book");
}
}
class Programmer extends Writer {
public static void write() {
System.out.println("Writing code");
}
public static void main(String[] args) {
Writer w = new Author();
w.write();//What would be the ouput here?
}
}
正确答案是调用抽象类的方法。
现在,我的理解是,在多态中,如果父类类型的变量包含对子类对象的引用,则将调用子类的方法。
因此,我是否理解在静态函数的情况下,将调用其变量包含引用的类的方法?
【问题讨论】:
-
感谢您的快速接受!
标签: java inheritance polymorphism static-methods