如何向这个 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();
}
}
上下文 - 因此有两个 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();
}
}