1 / 34
文档名称:

java 实验四 类的重用机制 实验报告..docx

格式:docx   大小:796KB   页数:34页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

java 实验四 类的重用机制 实验报告..docx

上传人:薄荷牛奶 2018/2/25 文件大小:796 KB

下载得到文件列表

java 实验四 类的重用机制 实验报告..docx

文档介绍

文档介绍:实验四类的重用机制与基础类
实验目标:
1. 理解类继承的概念,掌握声明和使用继承类对象的方法;
2. 掌握抽象类、抽象方法的定义和使用;
3. 理解最终类、最终变量和最终方法的使用方法;
,如String、Date、Calendar等;学会通过API或其他工具书查阅自学Java基本类库;
5. 掌握类的组合的用法;
;
7. 感受了解泛型技术,进一步了解使用包。
实验任务:(要求自定义包;自己编写的类要给出类图)
1. 根据下面程序分析类继承的实现过程,目测给出程序运行之后的结果,写到实验报告中。
答:目测该程序的运行结果如下:
i of B is:10
i of B's super is:100
i of B is:11
i of B's super is:101
2. 课本146页,课后****题第四题。
现根据题意给出下列代码,请回答问题。
问题:(1)类A1与类C1是什么关系?类B1与类C1又是什么关系?
答:类A1是类C1的父类,类C1调用类B1
(2)当子类没有设计构造方法时,请问系统会怎么给它找一个构造方法?
答:当子类没有设计构造方法时,系统会默认调用父类的构造方法
(3)当一个类C1里有一个属性成员是另一个类B1的实例对象时,请问C1执行构造方法时是否会自动执行B1的构造方法?
答:C1执行构造方法时不会自动执行B1的构造方法。
(4)请给出程序执行结果。
答:该程序的执行结果应该是:初始化A1
,课后****题第五题。
现根据题意,给出代码如下,请回答问题。
问题:
(1)请完善在子类B2两个构造方法中的第一句内容(?处)。
第一处?处所填代码:super(B2 (5));
第二处?处所填代码:super(j);
(2)请给出程序执行结果。
该程序的UML图截图如下:
4,课本146页,课后****题第七题。
现根据题意,给出代码如下,请回答问题。
问题:根据课本知识,以上代码编译是否会报错?如会,在哪几句报错?原因是什么?
答:会报错,在划红线的那两句报错。原因是在上面的程序中,成员方法getPI()使用final修饰符声明的最终类,所以不能在子类中对该方法进行重载,因而会报错。
5,课本146页,课后****题第11题。
(1) 声明Student类属性包括学号、姓名、英语成绩、数学成绩、计算机成绩和总成绩。
该程序代码如下:
package zi;
public class Student{
String id;
String name;
float scoreOfenglish;
float scoreOfmath;
float puter;
float scoreOfsum;
//构造方法
public Student(){
}
public Student(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float puter){
=aid;
=aname;
=ascoreOfenglish;
=ascoreOfmath;
=puter;
//=ascoreOfenglish+ascoreOfmath+puter;
=sum();
}
//sum方法
public float sum(){
return(++);
}
//testScore测评成绩/平均分
public float testScore(){
return();
}
//6个get方法
public String getid(){
return(id);
}
public String getname(){
return(name);
}
public float getscoreOfenglish(){
return(scoreOfenglish);
}
public float getscoreOfmath(){
return(scoreOfmath);
}
public float puter(){
return(puter);
}
public float getscoreOfsum(){
return(scoreOfsum);