超类:
public class Modem {
Modem(){
System.out.println("The Modem Constructor");
}
Modem(String entry){
System.out.println("The " +entry);
}
}
子类:
public class CableModem extends Modem {
CableModem(String entry){
System.out.println("The " + entry);
}
CableModem(){
System.out.println("The CableModem Constructor");
}
}
主类:
public class Main {
public static void main(String[] args) {
CableModem cMod = new CableModem();
Modem mod = new Modem();
}
}
我得到的输出:
调制解调器构造器
CableModem构造器
调制解调器构造器
因此,当我创建subclas的对象时,将同时调用其子类和supperclass构造函数。为什么会发生这种情况,如何防止这种情况发生?