Tôi đang tạo cơ sở dữ liệu nhân viên giả sử dụng thừa kế và đa hình. Tôi đang chạy vào các lỗi sau khi cố gắng ghi đè lên các phương thức siêu lớp.không ghi đè hoặc triển khai phương thức từ siêu kiểu
HourlyEmployee is not abstract and does not override abstract method resetWeek() in Employee
public class HourlyEmployee extends Employee
^
HourlyEmployee.java:43: error: method does not override or implement a method from a supertype
@Override
^
HourlyEmployee.java:54: error: method does not override or implement a method from a supertype
@Override
^
HourlyEmployee.java:60: error: method does not override or implement a method from a supertype
@Override
^
HourlyEmployee.java:66: error: method does not override or implement a method from a supertype
@Override
Đây là nhân viên của tôi cha và HourlyEmployee Subclass đang
public abstract class Employee
{
protected String firstName;
protected String lastName;
protected char middleInitial;
protected boolean fulltime;
private char gender;
private int employeeNum;
public Employee (String fn, String ln, char m, char g, int empNum, boolean ft)
{
firstName = fn;
lastName = ln;
middleInitial = m;
gender = g;
employeeNum = empNum;
fulltime = ft;
}
public int getEmployeeNumber()
{
return employeeNum;
}
public void setEmployeeNumber(int empNum)
{
while (empNum <= 10000 && empNum >= 99999)
{
System.out.print ("Invalid input, please try again: ");
}
if (empNum >= 10000 && empNum <= 99999)
{
employeeNum = empNum;
}
}
public String getFirstName()
{
return firstName;
}
public String getLastName()
{
return lastName;
}
public char checkGender(char g)
{
if (g != 'M' || g != 'F')
{
g = 'F';
}
return g;
}
public char getGender()
{
return gender;
}
@Override
public boolean equals(Object e2)
{
if (this.employeeNum == ((Employee)e2).employeeNum)
{
return true;
}
else
{
return false;
}
}
@Override
public String toString()
{
return employeeNum + "\n" + lastName + ", " + firstName + "\n" + "Gender:" + gender + "\n" + "Status:" + fulltime + "\n";
}
public abstract double caclulateWeeklyPay();
public abstract void annualRaise();
public abstract double holidayBonus();
public abstract void resetWeek();
}
Đây là lớp con HourlyEmployee
public class HourlyEmployee extends Employee
{
private double wage;
private double hoursWorked;
private double additionalHours;
public HourlyEmployee(String fn, String ln, char m, char g, int empNum, boolean ft, double w, double h, double ahours)
{
super (fn, ln, m, g, empNum, ft);
wage = w;
hoursWorked = h;
hoursWorked = 0.0;
additionalHours = ahours;
}
@Override
public String toString()
{
return this.getEmployeeNumber() + "\n" + lastName + ", " + firstName + middleInitial + "\n" + "Gender: "
+ this.getGender() + "\n" + "Status: " + fulltime + "\n" + "Wage: " + wage + "\n" + "Hours Worked: " + hoursWorked + "\n";
}
//@Override
public double calculateWeeklyPay(double w, double h)
{
if (h > 40)
{
w = w * 2;
}
return w * h;
}
//@Override
public double annualRaise(double w)
{
return (w * .05) + w;
}
//@Override
public double holidayBonus(double w)
{
return w * 40;
}
//@Override
public double resetWeek(double h)
{
h = 0.0;
return h;
}
public double plusHoursWorked(double h, double ahours)
{
while (h <= 0)
{
System.out.println("Invalid value entered, please try again");
}
h += ahours;
return h;
}
}