类继承与接口(三)实验报告.doc

类继承与接口(三)实验报告.doc

ID:59257840

大小:501.00 KB

页数:12页

时间:2020-09-08

类继承与接口(三)实验报告.doc_第1页
类继承与接口(三)实验报告.doc_第2页
类继承与接口(三)实验报告.doc_第3页
类继承与接口(三)实验报告.doc_第4页
类继承与接口(三)实验报告.doc_第5页
资源描述:

《类继承与接口(三)实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、浙江大学城市学院实验报告课程名称:面向对象程序设计实验项目名称:类继承与接口(三)学生姓名:专业:软件工程学号:实验地点:实验日期:年月日【实验目的】1.巩固Java类继承的相关知识2.理解对象上转型技术的优点和用途。3.掌握接口的特点4.接口与抽象类的异同之处【实验内容】一、类继承相关知识强化1.执行以下程序,给出执行Bbb的结果,并说明指出类Bbb的this.i与super.i的含义(即它们都对应哪个变量)。classAaa{inti;Aaa(inta){i=a;}}classBbbextendsAaa{intj,k;Bbb(inti){super(i);j=t

2、his.i;k=super.i;}publicstaticvoidmain(String[]args){Bbbb=newBbb(18);System.out.println(b.j+"t"+b.k);}}执行Bbb的结果:this.i与super.i的含义(即它们都对应哪个类中定义的变量):this.i和super.i都对应Aaa中的变量2.接着上面例子,将类Bbb改写为以下代码,请写出程序运行结果,并说明这个例子与上面例子的区别。classBbbextendsAaa{inti=-1,j=-1,k=-1;//比上面例子增加一个实例变量i;Bbb(inti){sup

3、er(i);j=this.i;//本语句含义是:k=super.i;//本语句含义是:}publicstaticvoidmain(String[]args){Bbbb=newBbb(18);System.out.println(b.j+"t"+b.k);}}执行Bbb的结果:这个例子与上面例子的区别:this.i对应Bbb中的isuper.i对应Aaa中的i3.对以下程序,给出执行Bbb的结果,并分析Bbb中main方法中a.show(1),b.show(1),c.show(1)的结果。classAaa{voidshow(){System.out.println(

4、"Aaa中定义的show()");}voidshow(inti){System.out.println("Aaa中定义的show(inti)");}}classBbbextendsAaa{voidshow(){System.out.println("Bbb中定义的show()");}publicstaticvoidmain(String[]args){Aaaa=newAaa();Bbbb=newBbb();Aaac=newBbb();a.show(1);b.show(1);c.show(1);}}执行Bbb的结果:上面a.show(1)执行了那个类中定义的方法:上面

5、b.show(1);执行了那个类中定义的方法:上面c.show(1)执行了那个类中定义的方法:分析:因为执行的是有参数的voidshow()所以调用的是Aaa中的方法。C是上转型所以也是调用Aaa中的方法4.对以下程序,给出执行Bbb的结果,并分析这个例子结果与前面第4个例子,你可以得出什么结论。classAaa{inti=10;staticvoidshow(){System.out.println("Aaa中定义的show()");}}classBbbextendsAaa{inti=20;staticvoidshow(){System.out.println("B

6、bb中定义的show()");}publicstaticvoidmain(String[]args){Aaaa=newAaa();Bbbb=newBbb();Aaac=newBbb();a.show();b.show();c.show();((Bbb)c).show();System.out.println(c.i);//考虑此处System.out.println(((Bbb)c).i);//考虑此处}}执行Bbb的结果:((Bbb)c).show()执行结果:System.out.println(c.i)执行结果:System.out.println(((Bbb

7、)c).i)执行结果:分析与结论:C进行的向上转型,将子类对象引用转换为超类类型。所以c.i引用的是超类中的I而也可以通过(Bbb)c向下转型二、程序分析思考以下是例5.22的部分关键代码,请分析思考以下问题:(1)Student类中设计抽象方法cost会带来什么好处?因为不同的学生所需要的学费不同,所以用抽象cost方法在不用的学生中调用cost执行不同的代码返回对应的值。(2)Student类的compareCost方法可以用于比较哪些类型的对象?如果没有设计抽象方法cost,那么会发生什么问题?可以比较上转型对象和子类对象。如果没有抽象方法cost那么就必

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。