学校中有老师和学生两类人,而在职研究生既是老师又是学生。 (1)设计两个信息管理接口StudentInterface和TeacherInterface,其中StudentInterface接口包括setFee()方法和getFee()方法,分别用于设置和获取学生的学费,TeacherInterface接口包括setPay()和getPay()方法,分别用于设置和获取老师的工资。 (2)定义一个研究生类Graduate,实现StudentInterface接口和TeacherInterface接口,它定义的成员变量有name(姓名),sex(性别),age(年龄),fee(每学期学费) pay(月工资)。 (3)创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输出“You need a loan!”(需要贷款)的信息,否则输出“You income is enough!”信息。 实验要求:在Graduate中实现各个接口声明的抽象方法。
时间: 2023-02-09 09:45:04 浏览: 454
学生管理系统,有两个类,本科生和研究生
以下是符合题目要求的 Java 代码示例:
```java
// 定义 StudentInterface 接口
public interface StudentInterface {
void setFee(double fee);
double getFee();
}
// 定义 TeacherInterface 接口
public interface TeacherInterface {
void setPay(double pay);
double getPay();
}
// 定义研究生类 Graduate,实现 StudentInterface 和 TeacherInterface 接口
public class Graduate implements StudentInterface, TeacherInterface {
private String name;
private String sex;
private int age;
private double fee; // 学费
private double pay; // 工资
public Graduate(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
// 实现 setFee() 方法
@Override
public void setFee(double fee) {
this.fee = fee;
}
// 实现 getFee() 方法
@Override
public double getFee() {
return fee;
}
// 实现 setPay() 方法
@Override
public void setPay(double pay) {
this.pay = pay;
}
// 实现 getPay() 方法
@Override
public double getPay() {
return pay;
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Graduate zhangsan = new Graduate("zhangsan", "male", 22);
zhangsan.setFee(5000); // 设置学费
zhangsan.setPay(10000); // 设置工资
double income = zhangsan.getPay() * 12; // 计算年收入
double fee = zhangsan.getFee() * 4; // 计算学费
if (income - fee < 2000) {
System.out.println("You need a loan!");
} else {
System.out.println("You income is enough!");
}
}
}
```
阅读全文