今天就给大家分享一个报告的代码和报告
实验任务1、设计一个Student学生类,该类有属性姓名name、性别sex、年龄age,还有方法setName和getName,setSex和getSex,setAge和getAge分别用作设置和获取相应的属性。另有一个方法showInfo用作显示学生的详细信息。Student类的构造方法有两种形式Student()、Student(String name,String sex,int age)。设计UniverStudent大学生类,该类继承自学生类,新增属性专业major。UniverStudent中重写showInfo方法,显示大学生的详细信息。在主方法中,用户输入大学生的信息,然后输出该生信息。
-
代码分析
该任务主要考察的是类与类之间的继承关系,在调用父类的构造函数的时候,需要父类的无参构造函数和有参构造函数,并且根据java规定,子类如果需要调用父类的构造函数来构造自己,必须使用super()方法,并且该方法还必须放在构造函数体内部的第一行。子类重写父类的方法,只需要添加上子类需要的参数,函数名与访问属性与父类保持一致即可。
-
程序源码
package com.beiwangshan.demo;
import java.util.Scanner;
//定义学生类
class Student {
private String name;//姓名属性
private String sex;//性别属性
private int age;//年龄属性
// 生成get 和 set 方法,使用IDEA的generate方法快速生成
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// 显示学生信息的方法
public void showInfo() {
System.out.println("姓名:" + this.getName() + " 性别:" + this.getSex() + " 年龄:" + this.getAge());
}
// 构造函数,默认构造函数和含参构造函数
public Student(String name, String sex, int age) {
super();//Java的规定:子类继承父类,子类的构造方法必须调用
//super()即父类的构造方法,而且必须放在构造方法的第一行
this.name = name;
this.sex = sex;
this.age = age;
}
public Student() {
super();
}
}
//定义大学生类 继承 学生类
class UniverStudent extends Student {
private String major;//专业
// 生成get 和 set 函数
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
// 构造函数
public UniverStudent(String name, String sex, int age, String major) {
super(name, sex, age);
this.major = major;
}
// 重写 显示学生信息的方法
public void showInfo() {
System.out.println("姓名:" + this.getName() + " 性别:" + this.getSex() + " 年龄:" + this.getAge() + " 专业:" + this.getMajor());
}
}
//主函数入口
public class studentDemo {
public static void main(String[] args) {
String name;//姓名属性
String sex;//性别属性
int age;//年龄属性
String major;//专业
// 接收用户输入
Scanner s = new Scanner(System.in);// 引入输入流
System.out.println("请输入学生的姓名");
name = s.next();
System.out.println("请输入学生的性别");
sex = s.next();
System.out.println("请输入学生的年龄");
age = s.nextInt();
System.out.println("请输入学生的专业");
major = s.next();
// 声明对象 构造对象
UniverStudent stu1 = new UniverStudent(name,sex,age,major);
// 调用输出函数
stu1.showInfo();
s.close();//关闭输入流
}
}
-
实验结果
按照程序提示输入数据,最后打印出数据
-
任务总结
通过此次实验,我了解了类之间的继承与方法重写,通过解决练习中的问题,并不断的查询问题解决方法,使我了解更加清晰。
暂无评论内容