我有以下代码示例:
class p {
public void druckauftrag() {
// ...
drucke();
}
public void drucke() {
System.out.println("B/W-Printer");
}
}
class cp extends p {
public void drucke() {
System.out.println("Color-Printer");
}
}
调用以下行:
cp colorprinter = new cp();
cp.druckauftrag();
理解为什么“cp.druckauftrag();”没有问题.导致控制台输出“彩色打印机”.
但是当我打电话时:
p drucker = (p)colorprinter;
drucker.druckauftrag();
我得到相同的输出 – 为什么?
类型转换是否用彩色打印机的“drucke”覆盖对象“drucker”的方法“drucke”?
提前感谢您的每一个解释.