学校有学生和老师两类人,而在职研究生既是老师也是学生,对学生的管理和对老师的管理在他们身上都有体现。

学校有学生和老师两类人,而在职研究生既是老师也是学生,对学生的管理和对老师的管理在他们身上都有体现。

(1)设计Person类,含有name,age属性,有构造函数、一般方法set和get,有抽象方法speak用于说出自己的身份。

(2)在文件ManageInterface.java设计两个信息管理接口StudentManage和TeacherManage。其中StudentManage接口包括setFee(double f) 和getFee()方法,分别用于设置和获取学生的学费;TeacherManage接口包括setPay(double p)和getPay()方法,分别用于设置和获取教师工资。

(3)在文件Graduate.java定义一个研究生类Graduate,继承自Person类,添加成员变量有fee(每学期学费)和pay(月工资);含构造方法,实现StudentManage和TeacherManage接口定义的抽象方法。

(4)在测试类的main方法中创建一个姓名为“张三”的研究生,利用setFee()和setPay()设置他的学费和月收入。统计年学费和年收入,用收入减去学费,如果小于2000,则显示“需要贷款”信息,否则显示“无需贷款”信息。

import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        Graduate graduate=new Graduate("张三",23);
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入研究生的月输入:");
        int pay=sc.nextInt();
        System.out.print("请输入研究生一学期的学费:");
        int fee=sc.nextInt();
        graduate.setPay(pay);
        graduate.setFee(fee);
        double YearPay=graduate.getPay()*12;
        double YearFee=graduate.getFee()*2;
        double sum=YearPay-YearFee;
        if(sum>0)
        {
            System.out.print("无需贷款");
        }
        else{
            System.out.print("需要贷款");
        }
    }
}
 abstract class Person {
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String toString() {
        return "Person{name = " + name + ", age = " + age + "}";
    }

    public abstract void speak();

}
public interface ManageInterface {
    public interface StudentManage{
        public abstract void setFee(double f);
        public abstract double getFee();
    }
    public interface TeacherMange{
        public abstract void setPay(double p);
        public abstract double getPay();
    }
} 
class Graduate extends Person implements ManageInterface.TeacherMange,ManageInterface.StudentManage{
   double fee;
   double pay;

    public Graduate() {
    }

    public Graduate(String name, int age) {
        super(name, age);
    }

    public Graduate(String name, int age, double fee, double pay) {
        super(name, age);
        this.fee = fee;
        this.pay = pay;
    }

    public void speak() {
        System.out.println("研究生在说话");
    }

    public void setFee(double f) {
        this.fee=f;
    }

    public double getFee() {
        return fee;
    }

    public void setPay(double p) {
        this.pay=p;
    }

    public double getPay() {
        return pay;
    }
}

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值