java子类的构造方法如何定义

在 Java 中,子类构造方法用于创建子类对象并初始化状态,必须显式调用父类构造方法(构造器调用),形成构造器链;子类自动继承父类构造方法,但不能覆盖它们。

Java 子类的构造方法定义

在 Java 中,子类构造方法用于创建子类的对象并初始化其状态。子类构造方法在语法上与父类构造方法类似,但有一些特殊规则。

1. 显式构造器调用

子类的构造方法必须显式调用其父类的构造方法,称为构造器调用。这是因为子类继承了父类的属性和方法,必须在创建子类对象之前对其进行初始化。

2. 构造器链

构造器调用会创建一条构造器链,从子类的构造方法到基类的构造方法。每个构造器都负责初始化其各自的属性

3. 构造器继承

子类自动继承父类的构造方法,但不能覆盖它们。这意味着子类不能定义与其父类具有相同参数列表的构造方法。

构造方法语法

子类构造方法的语法如下:

public class ChildClass extends ParentClass {
   public ChildClass(参数列表) {
      // 构造器代码
   }
}

示例

考虑以下示例:

public class Animal {
   protected String name;
   
   public Animal(String name) {
      this.name = name;
   }
}

public class Dog extends Animal {
   private int age;
   
   public Dog(String name, int age) {
      super(name);  // 调用父类构造方法
      this.age = age;
   }
}

在示例中,Animal 是父类,Dog 是子类。Dog 的构造方法通过 super(name) 调用父类构造方法,然后初始化其自己的属性 age

注意事项

  • 子类构造方法不能省略对父类构造方法的调用,否则会编译错误。
  • 子类构造方法可以使用 super 关键字来访问父类的属性和方法。
  • 如果父类没有无参数构造方法,则子类必须显式调用其有参构造方法。