(1)定义一个学习接口,StudyInterface,提供两个方法:上课attendClass考试exam。 (2) 定义一个学生抽象类Student,Student实现StudyInterface接口,重写考试exam方法,输出:“在学校参加期末考试”,自行设计学生类其他信息。 (3) 定义两个子类:大学生类CollegeStudent和在职研究生类JobGraduateStudent继承抽象类Student,重写上课attendClass方法:大学生类输出“在学校教室上课”,在职研究生类输出“在网上上课”,在职研究生类提供一个描述工作的work方法。 (4)编写测试类,建立大学生类和在职研究生类对象,调用对象的所有方法进行测试。
时间: 2024-03-25 09:41:48 浏览: 130
以下为Java代码实现:
```java
//定义学习接口
interface StudyInterface {
void attendClass(); //上课
void exam(); //考试
}
//定义学生抽象类
abstract class Student implements StudyInterface {
protected String name;
protected int age;
protected String gender;
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
//重写考试方法
@Override
public void exam() {
System.out.println("在学校参加期末考试");
}
}
//定义大学生类
class CollegeStudent extends Student {
public CollegeStudent(String name, int age, String gender) {
super(name, age, gender);
}
//重写上课方法
@Override
public void attendClass() {
System.out.println("在学校教室上课");
}
}
//定义在职研究生类
class JobGraduateStudent extends Student {
private String company;
public JobGraduateStudent(String name, int age, String gender, String company) {
super(name, age, gender);
this.company = company;
}
//重写上课方法
@Override
public void attendClass() {
System.out.println("在网上上课");
}
//描述工作
public void work() {
System.out.println("我在" + company + "工作");
}
}
//测试类
public class Test {
public static void main(String[] args) {
//创建大学生对象并测试
CollegeStudent collegeStudent = new CollegeStudent("小明", 20, "男");
collegeStudent.attendClass(); //在学校教室上课
collegeStudent.exam(); //在学校参加期末考试
//创建在职研究生对象并测试
JobGraduateStudent jobGraduateStudent = new JobGraduateStudent("小红", 25, "女", "阿里巴巴");
jobGraduateStudent.attendClass(); //在网上上课
jobGraduateStudent.exam(); //在学校参加期末考试
jobGraduateStudent.work(); //我在阿里巴巴工作
}
}
```
输出结果:
```
在学校教室上课
在学校参加期末考试
在网上上课
在学校参加期末考试
我在阿里巴巴工作
```
阅读全文