java作业

来源:互联网 发布:心中的秘密知乎 编辑:程序博客网 时间:2024/06/07 22:32
题目

大学里的学生(Student)需要交学费,而研究生(Graduate)作为学生比较特殊,除了需要交学费外,还可以获取一部分科研津贴,由学校(University)统一发放。此外,学校还需要发放教师(Teacher)的工资。

testMain类

package cn.ganggang;public class testMain {    public static void main(String[] args) {        Graduate g = new Graduate("小亮");        g.setFee(1000);        University u = new University();        u.payOff(g);        System.out.println("研究生:是否需要贷款:"+g.isLoan()+";学费:"+g.getFee()+";获取科研经费:"+g.getSalary());        Teacher t = new Teacher("大王");        u.payOff(t);        System.out.println("教师:获取工资:"+t.getSalary());    }}
Student类

package cn.ganggang;public abstract class Student {    private String name;    public int fee;    Student(String name){        this.name = name;    }    abstract void setFee(int fee);    abstract int getFee();}
Salary接口
package cn.ganggang;public interface Salary {    int getSalary();}
Graduate类
package cn.ganggang;public class Graduate extends Student implements Salary {    private int salary;    Graduate(String name) {        super(name);        salary = 1500;    }    //重写父类抽象方法    @Override    void setFee(int fee) {        super.fee = fee;    }    @Override    int getFee() {        return super.fee;    }    //重写接口抽象方法    @Override    public int getSalary() {        // TODO Auto-generated method stub        return salary;    }    boolean isLoan(){        return false;    }}
Teacher类
package cn.ganggang;public class Teacher implements Salary {    private String name;    private int salary;    Teacher(String name){        this.name = name;        salary = 3000;    }    public int getSalary() {        // 获得工资        return salary;    }}
University类
package cn.ganggang;public class University {    void payOff(Salary s){        s.getSalary();    }}
研究生:是否需要贷款:false;学费:1000;获取科研经费:1500
教师:获取工资:3000










原创粉丝点击