package comitheimtext_6;1.基础题分别创建学生类Student和及其子类CollegeStudent根据题意及注释补充所缺代码或完成填空导入正确的包然后在MyApp的入口函数中添加测试代码运行程序程序结果截屏注意所输出的信息应该为自己的信息否则影响实验得分:package cneduseigzhangxiaohu;import javautilDate;public cla
package cn.edu.seig.zhangxiaohu; import java.util.Date; public class Student{ private String sname; //姓名 private String sno; //学号 private Date birthDay; //生日
public Student(String sname, String sno, Date birthDay) { //此处定义带3个参数的构造函数,这三个参数用于初始化相应的成员变量
this.sname = sname;
this.sno = sno;
this.birthDay = birthDay;
}
public String getSname() { // 此处定义三个成员变量各自的设置器和访问器,共6个成员函数
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public Date getBirthDay() {
return birthDay;
}
public void setBirthDay(Date birthDay) {
this.birthDay = birthDay;
}
int getAge() { //此处定义一个获得学生年龄的成员函数,根据提示完成代码
long age = (new Date().getTime() - birthDay.getTime()) / (1000*3600*24*365);
return (int)age;
}
public String toString(){ //这是方法重写吗:是,Student类的父类为Object
return "学号: "+sno+",姓名: "+sname+",年龄: "+ getAge();
}
}
//定义CollegeStudent类继承Student类 package cn.edu.seig.zhangxiaohu; public class CollegeStudent extends Student { //继承Student类 private String major; //专业
public CollegeStudent(String sname, String sno, Date birthDay, String major) { //此处定义带4个参数的构造函数,其中前三个参数用于初始化父类的成员变量,第4个用于初始化major
super(sname, sno, birthDay); //使用super关键字调用父类的构造函数
this.major = major;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String toString(){ //这是方法重写吗:是,其父类为Student
//输出学号、姓名、年龄和专业
return super.toString() + ",专业: "+major;
}
}
在MyApp的入口函数main中添加测试代码: package cn.edu.seig.zhangxiaohu; public class MyApp{ public static void main(String[] args){ System.out.println("=====================我的信息=================="); Date myBirthDay = new Date (2000, 1, 1); //构造自己的生日 CollegeStudent mySelf = new CollegeStudent("张三", "20180001", myBirthDay, "计算机科学与技术");//使用自己的信息 Student parentObj = mySelf; System.out.println(mySelf.toString()); System.out.println(parentObj.toString()); System.out.println("我的年龄:"+mySelf.getAge()); } } parentObj = mySelf赋值语句中,parentObj是Student类的上转型对象,对toString函数的调用具有多态性。 程序运行结果的截屏:(结果应该与个人信息相关)
=====================我的信息================== 学号: 20180001,姓名: 张三,年龄: 21,专业: 计算机科学与技术 学号: 20180001,姓名: 张三,年龄: 21,专业: 计算机科学与技术 我的年龄:21
原文地址: https://www.cveoy.top/t/topic/byuX 著作权归作者所有。请勿转载和采集!