interface IPayable{
    public int getSalary();
}
class ThirdCompany implements IPayable{

    @Override
    public int getSalary() {
        return 100000;
    }
}
abstract class Employee implements IPayable{

    private String name;

    public String getName() {
        return name;
    }

    public Employee(String name)
    {
        this.name = "@" + name + "@" ;
    }
    public abstract int getSalary();
}

class Developer extends Employee{

    private int salary;

    public Developer(String name, int salary)
    {
        super(name);
        this.salary = salary;

    }

    @Override//方法重写注解
    public int getSalary() {
        return salary;
    }
}
class HourlyWorker extends Employee{
    private int hours;//这个月工作了多少小时

    public int getHours() {
        System.out.println(this.getClass().getSimpleName());
        return hours;
    }

    public HourlyWorker(String name, int hours)
    {
        super(name);
        this.hours = hours;
    }
    @Override
    public int getSalary() {
        return 30*hours;
    }
}

public class Main2 {

//    static void paySalary(Developer  developer){
//        System.out.println(developer.getSalary());
//    }
    static void paySalary(IPayable  hourlyWorker){
        System.out.println(hourlyWorker.getSalary());
    }

    public static void main(String[] args) {
        IPayable  developer = new Developer("张二",5000);
        IPayable  hourlyWorker = new HourlyWorker("冯六",200);
        IPayable thirdCompany = new ThirdCompany();
        Employee employee = new HourlyWorker("wangwu",11);
        System.out.println(((HourlyWorker)hourlyWorker).getHours());
        paySalary(thirdCompany);
        paySalary(developer);
        paySalary(hourlyWorker);
    }
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐