以类作为输入的类构造函数调用

Ran*_*cio 0 java

我正在使用一个类并使用它作为输入来调用这个类。

 professor = new Professor(EEEE, AAAA, YEARS_90, DEP);

 depProf.addProfessor(professor)
Run Code Online (Sandbox Code Playgroud)

教授有一个 (String, String, Integer, String) 的构造函数,但在测试中我想从另一个地方用(Professor)作为输入调用它。

public Professor(String name, String surname, Integer yearOfBirth, String department) {

    this.department = department;
    Person curPerson = new Person(name, surname, yearOfBirth);

}
Run Code Online (Sandbox Code Playgroud)

如何制作教授(教授)的构造函数?如果这有任何意义。

我正在考虑在调用第二个构造函数时调用第一个构造函数,但实际上不知道如何使其工作。

k1r*_*1r0 5

您可以在同一个类中调用另一个构造函数,例如:

public Professor(String name, String surname, Integer yearOfBirth) {
   this.name = name;
   this.surname = surname;
   this.yearOfBirth = yearOfBirth;
}

public Professor(String name, String surname, Integer yearOfBirth, String department) {
  this(name, surname, yearOfBirth);
  this.department = department;
}

public Professor(Professor p) {
  this(p.name, p.surname, p.yearOfBirth, p.department);
}

Run Code Online (Sandbox Code Playgroud)