定义学生类Student,该类继承自第1题的Person类。Student类中增加3个private的属性(变量):学号number,String类型;语文成绩chinese,float类型;数学成绩math,float类型。类中定义2个构造方法:无参数的构造方法,默认初始化;有参数的构造方法,首先调用父类构造方法初始化继承来的变量,初始化学号、语文成绩和数学成绩。覆盖父类的showResult()方法,满足子类描述对象信息的要求。最后,类中增加main方法,分别使用2个构造方法创建对象,并调用其showResult方法将对象的信息显示命令行的结果,结果如下:
时间: 2024-02-25 11:58:09 浏览: 71
很好,你的问题是如何定义一个继承自Person类的Student类并满足题目要求。
下面是基于你的要求所写的Java代码:
```java
public class Student extends Person {
private String number;
private float chinese;
private float math;
public Student() {
super();
this.number = "";
this.chinese = 0;
this.math = 0;
}
public Student(String name, int age, char gender, String number, float chinese, float math) {
super(name, age, gender);
this.number = number;
this.chinese = chinese;
this.math = math;
}
@Override
public void showResult() {
super.showResult();
System.out.println("学号:" + this.number);
System.out.println("语文成绩:" + this.chinese);
System.out.println("数学成绩:" + this.math);
}
public static void main(String[] args) {
Student s1 = new Student();
s1.showResult();
Student s2 = new Student("Tom", 18, 'M', "20210001", 90.5f, 85.0f);
s2.showResult();
}
}
```
在这个代码中,我们定义了一个Student类,它继承自Person类,并增加了三个私有属性:学号、语文成绩和数学成绩。
我们还定义了两个构造方法:一个是无参数的构造方法,用于默认初始化;另一个是有参数的构造方法,用于初始化继承来的变量和新增的属性。
此外,我们还覆盖了父类的showResult方法,用于满足子类描述对象信息的要求。
最后,我们在main方法中分别使用两个构造方法创建了两个Student对象,并调用它们的showResult方法将信息显示在命令行中。
阅读全文