【问题标题】:I cannot create the super class dont know why我无法创建超类不知道为什么
【发布时间】:2023-01-12 06:04:35
【问题描述】:

一家建筑公司想要保留在其中工作的员工的记录。有固定雇员和合同雇员。合同雇员按小时工作,而永久雇员按月支付工资。需要为公司开发一个应用程序来存储员工详细信息。

员工

员工(int employeeId,String employeeName)

使用传递给构造函数的值适当地初始化 employeeId 和 employeeName 实例变量。 适当地实现 getter 和 setter 方法。

永久雇员

PermanentEmployee(int empId, String name, double basicPay, double hra, float experience)

使用传递给构造函数的值适当地初始化 employeeId、employeeName、basicPay、hra 和 experience 实例变量。 IP op

package wer;

public class Employee {
private int employeeId;
private String employeeName;
private double salary;

    public Employee() {
    
    }
    public Employee(int employeeId, String employeeName) {
        this.employeeId = employeeId;
        this.employeeName = employeeName; 
        
    }
    public int getEmployeeId() {
        return employeeId;
    }public void setEmployeeeId(int employeeId) {
        this.employeeId = employeeId;
        
    }public String getEmployeeName() {
        return employeeName;
    }public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }public double getSalary() {
        return salary;
    }public void setSalary(double salary) {
        this.salary = salary;
    }
    public String toString(){
        return "Employee\nemployeeId: "+this.getEmployeeId()+"\nemployeeName: "+this.getEmployeeName()+"\nsalary: "+this.getSalary();
    }
    
}



package wer;

public class PermanentEmployee extends Employee {
    private int empId;
    private String name;
    //private double salary;
    private double basicPay;
    private double hra;
    private float experience;

    PermanentEmployee(int empId, String name, double basicPay, double hra, float experience){
        
        super(employeeId,employeeName);
        this.empId = empId;
        this.name = name;
        this.basicPay = basicPay;
        this.hra = hra;
        this.experience = experience;
    }
}

【问题讨论】:

  • 你没有说出问题是什么

标签: java oop inheritance


【解决方案1】:

PermanentEmployee不应该有empId, name属性,在其父类中有Employee

class PermanentEmployee extends Employee {
    private double basicPay;
    private double hra;
    private float experience;

    PermanentEmployee(int empId, String name, double basicPay, double hra, float experience) {
        super(empId, name);
        this.basicPay = basicPay;
        this.hra = hra;
        this.experience = experience;
    }
}

class ContractEmployee extends Employee {
    private double wage;
    private float hoursWorked;

    ContractEmployee(int empId, String name, double wage, float hoursWorked) {
        super(empId, name);
        this.wage = wage;
        this.hoursWorked = hoursWorked;
    }
}

【讨论】:

    猜你喜欢
    • 2016-08-16
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 2020-08-02
    • 2021-02-25
    • 2012-02-08
    相关资源
    最近更新 更多