题目来源:大工慕课 链接
作者:Caleb Sung
题目要求
1.阅读Core Java示例代码清单5.1至5.3;
2.实现一人员(Person
)类,包括id
,name
,gender
,age
等字段以及访问这些字段的方法;
3.通过添加major
和gpa
的附加字段来实现继承Person
类的Student
类。 另外,这些方法还包括分别获取所有字段的访问器;
4. Override函数toString()
以显示个人或学生对象的简要信息;
5.测试两个班级,如打印一个人或学生的简要信息。
参考解答
Person类
class Person{
private int id;
private String name;
private char gender;
private int age;
public Person(int id, String name, char gender, int age) {
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public char getGender() {
return gender;
}
public int getAge() {
return age;
}
}
Student类
这个类继承于Person
类。
class Student extends Person{
private String major;
private double gpa;
public Student(int id, String name, char gender, int age, String major, double gpa) {
super(id, name, gender, age);
this.major = major;
this.gpa = gpa;
}
public String getMajor() {
return major;
}
public double getGpa() {
return gpa;
}
public String toString() {
return getId()+" "+getName()+" "+getGender()+" "+getAge()+" "+major+" "+gpa;
}
}
主函数与测试用例
public class PersonStudentTest {
public static void main(String[] args) {
Student hanmei = new Student(150001, "Han Mei", 'F', 20, "Engineering", 3.6);
Person lilei = new Person(12345678, "Li Lei", 'M', 20);
System.out.println(lilei.getName()+" "+lilei.getGender());
System.out.println(hanmei);
}
}