如何向这个 child class 添加一个 arrayList?

How to add an arrayList to this child class?

上下文 - 因此有两个 class 使用继承。 EmployeeService 是 parent class 而 EmployeeInfo 是 child class.

我需要什么帮助 - 所以我试图将一个 arrayList 插入到 parent class 中,它结合了 经验 position 并创建一个名为 serviceList 的新数组列表。

并且当我在child class中调用super()时,我应该能够调用arrayList而不是String变量(经验,位置)。

简而言之,我基本上应该能够在 child class employeeInfo 方法中将 arrayList 作为第三个参数传递,而不是 String experience 或 String position

Parent class -

public class EmployeeService () {
    private String experience;
    private String position;
    
    public EmployeeService (String experience, String position) {
        this.setExperience (experience);
        this.setPosition(position);
    }
    
    public String getExperience() {
        return experience;
    }

    public void setExperience(String experience) {
        this.experience = experience;
    }
    
    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }
    
    public String toString() {
        return "Experience - " + experience + "Position" + " - " + position;
    }
    
}

Child class -

public class EmployeeInfo () {
    private String firstName;
    private String address;
    
    public EmployeeInfo (String firstName, String address,String experience, String position) {
        super(experience, position);
        this.setFirstName (firstName);
        this.setAddress(address);
    }
    
    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    
    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
    
    public String toString() {
        return "Name - " + firstName + "Address" + " - " + address + super.toString();
    }
}

只需将 属性 和一个额外的构造函数添加到 parent class 中,如下所示:

import java.util.ArrayList;
import java.util.List;

public class EmployeeService {
    private String experience;
    private String position;
    private List<String> serviceList;

    public EmployeeService (String experience, String position) {
        this.setExperience (experience);
        this.setPosition(position);
    }

    public EmployeeService (String experience, String position, List<String> serviceList) {
        this(experience, position);
        this.serviceList = new ArrayList<>(serviceList);
    }

    public String getExperience() {
        return experience;
    }

    public void setExperience(String experience) {
        this.experience = experience;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String toString() {
        return "Experience - " + experience + "Position" + " - " + position;
    }
}

然后调整你的 child class:

import java.util.List;

public class EmployeeInfo extends EmployeeService {
    private String firstName;
    private String address;

    public EmployeeInfo (String firstName, String address, String experience, String position) {
        super(experience, position);
        this.setFirstName (firstName);
        this.setAddress(address);
    }

    public EmployeeInfo (String firstName, String address, String experience, String position, List<String> serviceList) {
        super(experience, position, serviceList);
        this.setFirstName (firstName);
        this.setAddress(address);
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String toString() {
        return "Name - " + firstName + "Address" + " - " + address + super.toString();
    }
}