1、创建一个Java类,名为Student,包含以下属性:学生姓名(name)、学生年龄(age)、学生成绩(score)。 2、创建一个接口,名为Comparable,包含一个抽象方法compareTo(),用于比较两个学生对象的成绩。 3、实现Comparable接口的方法,使得两个学生对象可以按成绩进行比较。 4、创建一个抽象类,名为Person,包含一个抽象方法printInfo(),用于打印学生的姓名、年龄和成绩。 5、继承Person类,创建一个具
时间: 2024-03-01 09:52:17 浏览: 213
体类,名为Undergraduate,包含一个属性major(专业),实现printInfo()方法,打印学生的姓名、年龄、成绩和专业信息。
以下是实现代码:
```java
public class Student implements Comparable<Student> {
private String name;
private int age;
private double score;
public Student(String name, int age, double score) {
this.name = name;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getScore() {
return score;
}
@Override
public int compareTo(Student o) {
if (this.score > o.score) {
return 1;
} else if (this.score < o.score) {
return -1;
} else {
return 0;
}
}
}
public interface Comparable {
int compareTo(Student o);
}
public abstract class Person {
public abstract void printInfo();
}
public class Undergraduate extends Person {
private String major;
private Student student;
public Undergraduate(String name, int age, double score, String major) {
this.student = new Student(name, age, score);
this.major = major;
}
@Override
public void printInfo() {
System.out.println("姓名:" + student.getName() + ",年龄:" + student.getAge()
+ ",成绩:" + student.getScore() + ",专业:" + major);
}
}
```
这个代码实现了一个Student类,包含了学生的姓名、年龄和成绩信息,并实现了Comparable接口,用于比较两个学生对象的成绩。还实现了一个抽象类Person,包含一个抽象方法printInfo(),用于打印学生的姓名、年龄和成绩。最后,继承Person类创建了一个具体类Undergraduate,包含了学生的专业信息,并实现了printInfo()方法,打印学生的姓名、年龄、成绩和专业信息。
阅读全文