实验9 类继承与多态-2

实验9 类继承与多态-2

ID:15467295

大小:64.50 KB

页数:6页

时间:2018-08-03

实验9 类继承与多态-2_第1页
实验9 类继承与多态-2_第2页
实验9 类继承与多态-2_第3页
实验9 类继承与多态-2_第4页
实验9 类继承与多态-2_第5页
资源描述:

《实验9 类继承与多态-2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验九类继承与多态(二)课程名称:面向对象程序设计实验实验项目名称:实验九类继承与多态(二)【实验目的】1.掌握Java类的接口、抽象类2.理解多态设计【实验内容】1.编译下面的程序,指出错误.interfaceA{//语句1voidshow();voidshow(inti){System.out.println("Ashow()");}}(1)是否出错?出错原因?出错。原因:抽象方法未指定主体。(2)如果将上面语句1的interface改为abstractclass,编译是否出错?(提示:注意abstract修饰符)出错。此方法需要主体而不是分号。(3)根据上面的(

2、1)和(2),可以看出接口与抽象类的什么区别?接口类是一种完全抽象的引用类型,不能定义非抽象方法,而抽象类不一定必须有抽象方法。2.编译下面的程序,指出错误.interfaceIA{voidshow();voidshow(inti);}classAimplementsIA{//语句1publicvoidshow(inti){//语句2System.out.println("Ashow()");}}(1)上面的程序编译是否出错?出错原因?出错。原因:类型A必须实现继承的抽象方法IA.show()。(2)如果将语句1中的class改为abstractclass,编译是否出

3、错?为何?不出错。A为抽象类,可以继承抽象方法。(3)如果将语句2中的public删除,编译是否出错?为何?出错。不能降低自IA继承的方法的可视性。3.编译下面的程序,回答问题abstractclassA{publicvoidshow(){System.out.println("Ashow()");}}classAbstractClassTest{publicstaticvoidmain(String[]args){Aa=newA();}}(1)编译是否出错?出错。(2)类A的定义编译是否出错?说明什么?(考虑抽象类中是否可以没有抽象方法)类A的定义编译没有出错。抽象

4、类中可以没有抽象方法。4.编译下面的程序,回答问题abstractclassA{staticabstractvoidshow();}classBextendsA{publicstaticvoidmain(String[]args){show();}}(1)上面的程序编译是否出错?出错。类型A中的抽象方法show只能设置可视性修饰符“公用”或者“受保护”中的一个类型B必须实现继承的抽象方法A.show()(2)如何改正?abstractclassA{publicabstractvoidshow();}abstractclassBextendsA{publicvoidsh

5、ow(){}publicstaticvoidmain(String[]args){}}5.编译下面的程序,回答问题interfaceIA{inti;voidshow();}(1)上面的程序编译是否出错?出错。(2)如果出错,错在何处?空白终态字段i可能尚未初始化i未初始化6.编译下面的程序,回答问题.interfaceIA{inti=100;voidshow();//代码1}interfaceIB{intj=100;voidshow(inta);//代码2}classAimplementsIA,IB{publicvoidshow(){}//代码3publicvoids

6、how(inta){}//代码4}(1)上面的程序编译是否出错?未出错。(2)代码1和代码3的区别是什么?同样,代码2与代码4的区别是什么?代码1和代码3的区别:代码1定义抽象方法,代码3实现抽象方法。代码2与代码4的区别:代码2定义抽象方法,代码4实现抽象方法。7.编译下面的程序,回答问题.abstractclassA{voidshow1(){}}abstractclassB{voidshow2(){}}classCextendsA,B{voidshow3(){}}(1)上面的程序编译是否出错?出错。(2)如果出错,错在何处?类C不能继承两个超类。8.编译下面的程序

7、,回答问题.interfaceIA{}//没有定义任何成员classB{}//没有定义任何成员(1)上面的程序编译是否出错?未出错。(2)如果没有出错,你可以得出什么结论?接口和类可以不定义任何成员。9.编译并运行下面程序,分析运行结果interfaceIStudent{voidshowDetail();}classStudentimplementsIStudent{Stringname;intage;Student(){}Student(Stringname,intage){this.name=name;this.age=age;}publicvo

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

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

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