当前位置: 首页 > 工具软件 > 2people > 使用案例 >

People 和 Child 类的定义和构造方法(雪梨作业)

孔乐邦
2023-12-01

下面是 People 和 Child 类的定义和构造方法,每个构造方法都输出编号。在 执行 new Child("mike") 的时候都有哪些构造方法被顺序调用?请写出输出结果

class People {

    String name;

    public People() {

        System.out.print(1);

     }

    public People(String name) {

        System.out.print(2); this.name = name;

    }

}

class Child extends People {

    People father;

    public Child(String name) {

          System.out.print(3);

          this.name = name;

          father = new People(name + ":F");

         }

       public Child() {

            System.out.print(4);

         }

}
public static void main(String[] args) {
        new Child("mike");
    }

运行结果:

132

调用顺序:

1,

People中的public People()
public People() {
    System.out.print(1);
}

2,

Child中的public Child(String name)
public Child(String name) {

    System.out.print(3);

    this.name = name;

    father = new People(name + ":F");

}

3,

People中public People(String name)
public People(String name) {
    System.out.print(2);
    this.name = name;
}

原因:

  • 在Java中,子类的构造过程中必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来。

要调用子类中的public Child(String name)

先调用父类的无参构造函数 public People()

public People()中运行

        father = new People(name + ":F");

调用有参构造函数

        public People(String name)

 类似资料: