Java实验报告 继承、多态、接口和异常处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 = "及格";

相关文档
最新文档