java中执行子类的构造方法时,会不会先执行父类的构造方法?

如题所述

会,


在创建子类的对象时,jvm会首先执行父类的构造方法,然后再执行子类的构造方法,如果是多级继承,会先执行最顶级父类的构造方法,然后依次执行各级个子类的构造方法。

static class Parent {

public Parent() {

System.out.println("i'm parent");

}

}


static class Child extends Parent {

public Child() {

System.out.println("i'm child");
}


}


public static void main(String[] args) {


new Child();

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-13
你看一下下边的执行结果吧。
答案是会的。

public class Test {
public static void main(String[] args) {
new B();
new C();
}
}
class A {
public A() {
System.out.println("A");
}
}
class B extends A {
public B() {
System.out.println("B");
}
}
class C extends A {
public C() {
super();
System.out.println("B");
}
}
相似回答