我正在尝试理解我的教授给我的关于构造函数和继承的一段代码。
下面是一个'Employee'类,其中创建变量并创建一个构造来初始化所述变量。这部分我很顺利。
public abstract class Employee {
private int employeeID;
private String firstName;
private String lastName;
private ArrayList<Paycheck> listOfPaychecks;
Employee(int employeeID, String firstName, String lastName, `
ArrayList<Paycheck> listOfPaychecks) {
this.employeeID=employeeID;
this.firstName=firstName;
this.lastName=lastName;
this.listOfPaychecks=listOfPaychecks;
}
下面,她提供了一个名为SalariedEmployee的不同类,它扩展了Employee类。她创建了一个变量annualSalary。
这是我感到困惑的地方,我看到她创造了两个构造函数。
public class SalariedEmployee extends Employee {
double annualSalary;
SalariedEmployee(SalariedEmployee s) {
super(s.getEmployeeID(), s.getFirstName(), s.getLastName(),
s.getListOfPaychecks());
this.annualSalary = s.annualSalary;
}
SalariedEmployee(int employeeID, String firstName, String lastName,
ArrayList<Paycheck> listOfPaychecks,
double annualSalary) {
super(employeeID, firstName, lastName, listOfPaychecks);
this.annualSalary = annualSalary;
}
创建两个构造函数有什么意义?我看到第一个,她创建了一个变量's',它从Employee类的构造函数中获取变量。这只是将s变量设置为Employee类中的返回变量吗?
有人可以帮助我理解为什么我们创建两个构造函数?如果我的词汇不太好,我很抱歉。我还在学习。