为什么输出只是"AB8"
,为什么"5"
不能打印?!!Java中的继承..为什么它不在此代码中打印“5”?
有两个类。其中一个从另一个延伸。 当我从子类创建一个对象时,它给了我这个输出"AB8"
, ,我首先想到它将是"A5B8"
。所以我会理解为什么?!
public class A {
public A(){
System.out.println("A");
}
public A(int i){
this();
System.out.println(i);
}
}
public class B extends A{
public B(){
System.out.println("B");
}
public B(int i){
this();
System.out.println(i+3);
}
}
public class Test {
public static void main(String[] args) {
new B(5);
}
}
为什么呢?你只会在带有1个参数的A构造函数中打印5,这个参数永远不会被调用。 – MattPutnam
如果你使用任何类似eclipse的IDE,那么在'new B(5);'放一个调试点并进行调试。这将清除你的混淆。 – Bikku