首页 > 试题广场 >

Class X{ Y b =n...

[不定项选择题]

Class X{

    Y b =new Y();

    X(){

        System.out.println(“X”);

    }

}

Class Y{

    Y(){

        System.out.println(“Y”);

    }

}

public class Z extends X{

    Y y= new Y();

    Z(){

        System.out.println(“Z”);

}

public static void main(String[] args){

    new Z();

}

}

  • Z
  • YZ
  • XYZ
  • YXYZ
new子类会先调用父类无参构造
发表于 2019-09-05 10:30:19 回复(0)
先执行父类构造代码块、再执行父类构造函数、接着执行子类构造代码块、然后执行子类构造函数
是这样的嘛
发表于 2022-02-20 17:51:30 回复(0)
我觉得这个题的答案有问题 new z()的时候是会先加载父类X,而父类中会先执行static代码块,之后才会执行成员变量
发表于 2019-10-02 14:24:54 回复(0)
第一个Y是X类的new Y()产生,第二个Y是Z中的new Y()产生
发表于 2019-09-19 10:55:23 回复(0)
class X{
    Y b =new Y();
    X(){
        super();//指向object根类
        System.out.println("X");
    }
}
class Y{
    Y(){
        super();  //指向object根类
        System.out.println("Y");
    }
}
public class Z extends X{
    Y y= new Y();
    Z(){
        super();//指向X类的无参构造
        System.out.println("Z");
    }
    public static void main(String[] args){
        new Z();
    }
}
发表于 2019-08-31 20:16:28 回复(0)