gpt4 book ai didi

java - 在子类中使用父类构造函数的困难

转载 作者:行者123 更新时间:2023-12-02 03:10:31 25 4
gpt4 key购买 nike

我有一个 Contractor 子类,它扩展了其父类 Staff

    Test Class

Date macHireDate = new Date(2016, 1, 5);
Staff mac = new Staff("Mac", 66222222, macHireDate);
System.out.println(mac);

Staff bob = new Contractor("Bob", new Date(2012,10,10), new Date(2013,4,11))
System.out.println(bob);

我希望输出为 Bob (ID: None) ...但我不知道如何使 ID 成为字符串。我不想更改测试类中的任何内容

public class Contractor extends Staff {
private Date contractEnds;

这是我的承包商类构造函数

public Contractor(String name, Date hireDate, long employementID, Date contractEnds) {
super(name, employementID, hireDate);
this.contractEnds = contractEnds;
}

并且它正在延伸

public Staff(String name, long employementID, Date hireDate) {
super();
this.name = name;
this.hireDate = hireDate;
this.employementID = employementID;
}

Bob 只有一个字符串、日期、日期。因此,我在不更改测试类中的任何内容的情况下如何使 bob ID“无”时遇到困难。

最佳答案

如果将Contractor的构造函数更改为

public Contractor(String name, Date hireDate, Date contractEnds) {
super(name, 0, hireDate);
this.contractEnds = contractEnds;
}

然后还更改 StafftoString 方法,以便如果 employmentID 为 0,则它将打印 None

关于java - 在子类中使用父类构造函数的困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41112556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com