Java | child class 的调用方法
Java | calling method of a child class
我有一个名为 HourlyEmployee 的 class 扩展了一个名为 Employee 的 class。
HourlyEmployee 有一个在 Employee class 中不存在的 getHoursWorked 方法。
现在在我的主要 class 中,我有一组不同类型的员工(小时工和薪水),我正在尝试 运行 一个 for 循环来获取每个 HourlyEmployee 的工作时间.
谁能告诉我我做错了什么?
for (int i = 0; i < employees.length; i++) {
if (employees[i] instanceof HourlyEmployee) {
if (employees[i].getHoursWorked() > 80) {
System.out.println(employees[i].getFullName() + ": " + (employees[i]getHoursWorked() - 80));
}
}
}
当我试图在 if 语句和 println 中调用 getHoursWorked 时它抛出错误。
如果需要,我可以提供额外的上下文,请告诉我。谢谢
您需要将 employees[i]
转换为 HourlyEmployee
。
for (int i = 0; i < employees.length; i++) {
if (employees[i] instanceof HourlyEmployee) {
HourlyEmployee employee = (HourlyEmployee) employees[i];
if (employee.getHoursWorked() > 80) {
System.out.println(employee.getFullName() + ": " + (employee.getHoursWorked() - 80));
}
}
}
我有一个名为 HourlyEmployee 的 class 扩展了一个名为 Employee 的 class。
HourlyEmployee 有一个在 Employee class 中不存在的 getHoursWorked 方法。
现在在我的主要 class 中,我有一组不同类型的员工(小时工和薪水),我正在尝试 运行 一个 for 循环来获取每个 HourlyEmployee 的工作时间.
谁能告诉我我做错了什么?
for (int i = 0; i < employees.length; i++) {
if (employees[i] instanceof HourlyEmployee) {
if (employees[i].getHoursWorked() > 80) {
System.out.println(employees[i].getFullName() + ": " + (employees[i]getHoursWorked() - 80));
}
}
}
当我试图在 if 语句和 println 中调用 getHoursWorked 时它抛出错误。
如果需要,我可以提供额外的上下文,请告诉我。谢谢
您需要将 employees[i]
转换为 HourlyEmployee
。
for (int i = 0; i < employees.length; i++) {
if (employees[i] instanceof HourlyEmployee) {
HourlyEmployee employee = (HourlyEmployee) employees[i];
if (employee.getHoursWorked() > 80) {
System.out.println(employee.getFullName() + ": " + (employee.getHoursWorked() - 80));
}
}
}