【发布时间】:2020-07-17 06:53:01
【问题描述】:
代码如下:
class Food {
Food() { printFlavor(); }
void printFlavor() { System.out.println("bland"); }
}
class Pepper extends Food {
void printFlavor() { System.out.println("spicy"); }
}
public class Lunch {
public static void main(String[] args) {
Food lunch = new Pepper();
}
}
当我确保使用this关键字运行自己的类的自己的方法时,它仍然运行基本方法。
class Food {
Food() { this.printFlavor(); }
void printFlavor() { System.out.println("bland"); }
}
class Pepper extends Food {
void printFlavor() { System.out.println("spicy"); }
}
public class Lunch {
public static void main(String[] args) {
Food lunch = new Pepper();
}
}
我的问题不是如何解决这个问题。 我的问题是为什么父构造函数选择调用基方法而不是父方法?
【问题讨论】: