如何使用其他构造函数扩展类?

Ton*_*lff 4 java constructor

我很难将人的班级扩展到病人的班级

我有一个人类与构造函数看起来像

  public Person(String firstname,String surname) {
        fFirstname=firstname;
        fSurname=surname;
    }
Run Code Online (Sandbox Code Playgroud)

然后我有一个病人班

公共类患者扩展人员

我想为一个看起来像

public Patient(String hospNumber) {
    fFirstname = lookup(hospNumber,"firstname");
    fSurname = lookup(hospNumber,"surname");
}
Run Code Online (Sandbox Code Playgroud)

但是我抱怨患者构造函数需要(String,String)。我可以看到这是为什么,但是看不到如何为患者扩展人类。

ysh*_*vit 5

只需将这两个方法调用的结果传递给super构造函数即可:

public Patient(String hospNumber) {
    super(lookup(hospNumber,"firstname"), lookup(hospNumber,"surname"));
}
Run Code Online (Sandbox Code Playgroud)

这些方法必须是静态的,因为this在调用它们时尚未构造它们。