java - Java中的多重继承问题

标签 java oop

我想在 Java 中模拟以下类:

enter image description here

所以我带来了以下代码:

class Person
{
    private String name;
    private ing age;
    public Person(String name, int age){
        this.name=name;
        this.age=age;
    }
    //set and get methods
}

class Employee
{
    private String nameEmp;
    private double salary;
    public Employee(String nameEmp, double salary){
        this.nameEmp=nameEmp;
        this.salary=salary;
    }
    public double calcSalary(){}   //should this be an abstract method?
}

class Teacher extends Person implements Employee
{
    private String nameTeacher;
    private int ageTeacher;
    private String title;   //professor or lecturer
    public Teacher(String nameTeacher,int ageTeacher, String title){
        super(nameTeacher,ageTeacher);
        this.title=title;
    }
    public double calcSalary(){
        if (title.equals("Professor")) salary=salary*0,30;
        else if (title.equals("Lecturer")) salary=salary*0,10;
    }
}

我想使用接口(interface)对其进行建模,但我不太确定该怎么做。另外,calcSalary 应该是 Employee 中的抽象方法吗?如何使用 Java 中的接口(interface)实现这一点?

谢谢

最佳答案

不,你不能这样做,你应该去 Teacher is -> Employee is -> Person。你不能在接口(interface)中实现任何东西!接口(interface)只能包含应该由类实现的方法。

关于java - Java中的多重继承问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16920366/

相关文章:

java - 有没有办法将 String.format 传递给 thymeleaf 模板?

c++ - 如何设计具有不同类型的通知和观察者的观察者模式?

java - 初级 Java 面向对象编程

c# - 我如何决定是使用接口(interface)还是抽象类?

java - 构建器模式和无限参数

java - 鼠标退出java时的锁定事件

java - 保留 SOAP 结果的排序顺序

java - 将 JSlider 添加到具有 GridLayout 的 JFrame (Java)

java - 语句的正则表达式不包含在句子中

JavaScript - 如何使继承成为可能