我有一个名为HourlyEmployee的类,它扩展了一个名为Employee的类。
HourlyEmployee具有一种在Employee类中不存在的getHoursWorked方法。
现在,在我的主班上,我有一系列不同类型的员工(按小时和薪水,并且我试图运行一个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));
}
}
}