繁体   English   中英

为什么我不能将参数传递给toString()方法,为什么它给出null?

[英]Why can't I pass an argument into a toString() method and why does it give a null?

在父类中,我有这个:

public String toString(String employeetype) {
    return super.toString() + "\n" + employeetype + employeeno + " Hired on: "
    + DateFormat.getDateInstance().format(datehired) + " ";
}

在子类中,我有以下两个:

public String toString() {
    return super.toString("SalariedEmployee") + "[salary= " + this.pay() + "]";
}
public String toString() {
    return super.toString("HourlyEmployee") + "[salary= " + this.pay() + "]";
}

当我给他们打电话时,它们会打印出来:

Person [name=John Doe, ssno=012345678, gender=Male]
SalariedEmployeenull Hired on: Feb 25, 2014 [salary= $0.0 Per Week]
Person [name=John Doe, ssno=012345678, gender=Male]
HourlyEmployeenull Hired on: Feb 25, 2014 [salary= $0.0 Per Hour from ]

那么,为什么说SalariedEmployeenull和HourlyEmployeeNull而不是SalariedEmployee和HourlyEmployeeN呢? 有没有一种方法可以解决此问题,同时将代码保持这种格式? 如果没有,我为什么不能通过? 我想知道它是如何工作的。 谢谢你的帮助。

那么,为什么说SalariedEmployeenull和HourlyEmployeeNull而不是SalariedEmployee和HourlyEmployeeN呢?

因为employeenonull 为了使您的输出更清晰,它与employeetype之间应该有一个空格。

为什么employeeno null? 在您给我们更多信息之前,我们不知道。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM