Java实验报告 继承、多态、接口和异常处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验5 继承、多态、接口和异常处理
一、实验目的
1、掌握Java的类和对象的声明和使用方法;
2、掌握Java的类的继承和实现方法;
3、掌握多态性在类的继承中的运用;
4、掌握接口的定义与使用;
5、掌握基本异常的处理机制;
6、熟悉try语句与catch语句的搭配使用;
7、了解有异常处理与没有异常处理的差别;
8、多重catch语句的使用;
9、使用Throws声明异常和Throw抛出异常。
二、实验环境
1、PC微机;
2、DOS操作系统或 Windows 操作系统;
3、Java sdk程序开发环境、eclipse集成环境。
三、实验内容
1. 设计三个类,分别是学生类Student,本科生类UnderGraduate,研究生类
Postjgraduate,其中Student类是一个抽象类,它包含学生的基本信息如姓名、所学课程、课程成绩等,而Undergraduate类和Postgraduate类都是Student类的子类,这两个类计算课程成绩等级的方法有所不同,如下表所示。假设某班级里既有研究生又有本科生,编写程序统计出全班学生
2. 和
Mobilephone具体实现,并设计一个应用程序类来使用这些类。
3.要求设计一个GUI图形窗口程序,该程序让用户输入一个星期中的任意一天的数字1-7,然后输出该数字所对应的是星期几。
四、实验步骤
实验内容一
1.建立package experiment5_1,其最终目录结构如下:
2.建立Student类:
package experiment5_1;
public abstract class Student {
final static int CourseNo = 3;
String name;
String type;
int[] courses;
String courseGrade;
public Student(String name) {
= name;
courses = new int[CourseNo];
courseGrade = "" ;
}
public abstract void calculateGrade();
public String getName( ) {
return name;
}
public String getType( ) {
return type ;
}
public String getCourseGrade( ) {
return courseGrade;
}
public int getCourseScore(int courseNumber) {
return courses[courseNumber];
}
public void setName(String name) {
= name;
}
public void setType(String type) {
this.type = type;
}
public void setCourseScore(int courseNumber, int courseScore) { //按课程索引号设置课程成绩
this.courses[courseNumber] = courseScore ;
}
}
3.建立外部类
(1)研究生类Postjgraduate
package experiment5_1;
public class postgraduate extends Student {
public postgraduate(String name) {
super(name);
type = "研究生";
}
public void calculateGrade() {
// TODO Auto-generated method stub
int total = 0;
double average = 0;
for (int i = 0; i < CourseNo; i++) {
total += courses[i];
};
average = total / CourseNo;
if (average>=90&&average<100) courseGrade = "优秀";
else if (average>=80&&average<90) courseGrade = "良好";
else if (average>=70&&average<80) courseGrade = "一般";
else if (average>=60&&average<70) courseGrade = "及格";
else courseGrade = "不及格";
}
}
(2)本科生类UnderGraduate
package experiment5_1;
public class undergraduate extends Student {
public undergraduate(String name ) {
super(name);
type = "本科生";
}
public void calculateGrade() {
int total = 0;
double average = 0;
for (int i = 0; i < CourseNo; i++) {
total += getCourseScore(i) ;
};
average = total / CourseNo;
if (average>=80&&average<100) courseGrade = "优秀";
else if (average>=70&&average<80) courseGrade = "良好";
else if (average>=60&&average<70) courseGrade = "一般";
else if (average>=50&&average<60) courseGrade = "及格";