类继承与接口(四)实验报告

类继承与接口(四)实验报告

ID:47166110

大小:514.54 KB

页数:8页

时间:2019-08-15

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

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

1、浙江大学城市学院实验报告课程名称:面向对象程序设计实验项目名称:类继承与接口(四)学生姓名:专业:学号:实验地点:实验日期:年月日【实验目的】1.巩固接口的相关知识2.理解接口回调技术3.掌握对象上转型与接口回调两种技术的相同之处和不同之处。【实验内容】一、对象的类型实验请运行以下程序的Test类,并回答问题。interfaceIA{}interfaceIB{}interfaceICextendsIA,IB{}classAimplementsIC{}classBextendsA{}publicclassTest{publicstaticvoidmain(Str

2、ing[]args){Bb=newB();System.out.println(binstanceofB);System.out.println(binstanceofA);System.out.println(binstanceofIC);System.out.println(binstanceofIA);System.out.println(binstanceofIB);System.out.println(binstanceofObject);}}(1)写出上述程序的运行结果。(1)分析上述运行结果?b所引用对象可以转型为哪些类型?B所引用的对象可以转型

3、为B,IA,A,IC,IB,Object(2)通过上述实验,您能得出什么结论?继承类的下端类可以自动向上转型或接口二、接口多重继承的成员歧义问题实验1.接口静态常量继承的歧义问题与解决请看下面的程序,然后回答问题。interfaceIA{publicstaticfinalintMAX=200;publicstaticfinalintMIN=100;}interfaceIB{publicstaticfinaldoubleMAX=1000;}interfaceICextendsIA,IB{publicabstractvoidc();}classAimplement

4、sIC{publicvoidc(){System.out.println(MAX);}}classBimplementsIA,IB{publicvoidd(){System.out.println(MAX);}}请回答以下问题:(1)上述程序的接口IC有没有错误?为什么?没出错,接口可以多重继承。(2)上述程序编译会不会出现错误?如果有错误,请说明,并改正错误。出错,因为A继承了IC又继承了IA,IB里面的MAX不能确定来自哪一个接口。classAimplementsIC{publicvoidc(){System.out.println(IA.MAX);}(3

5、)根据上述两个问题的分析,你可以得出什么结论?因为接口可以多重继承,所以在调用时要指明哪个接口2.接口抽象方法继承的歧义问题与解决请看下面的程序,然后回答问题。interfaceIA{publicabstractintc();publicabstractintc(intx);}interfaceIB{publicabstractvoidc();publicabstractintc(intx);publicabstractintc(doublex);}interfaceICextendsIA,IB{publicabstractintc(doublex);}abs

6、tractclassAimplementsIA,IB{}请回答以下问题:(1)接口IC从接口IA和IB中继承的抽象方法“intc(intx);”有没有歧义问题?没有,同名抽象方法会覆盖(2)上述程序的接口IC有没有错误?如果有错误,请说明,并改正错误。因为IC出现方法C的重定义,interfaceIB{publicabstractintc();publicabstractintc(intx);publicabstractintc(doublex);}(1)根据上述两个问题,你可以得出什么结论?结论是多重继承过程中,同名方法之间会存在覆盖和重载关系,并且不能出现

7、重定义现象。这与静态final域的重名是有所不同的。三、接口覆盖多态实验请看下面的程序,然后回答问题。interfaceIA{publicabstractvoidshow();}classAimplementsIA{publicvoidshow(){System.out.println("AAAA");}}classBimplementsIA{publicvoidshow(){System.out.println("BBBB");}}publicclassTest{publicstaticvoidmain(String[]args){IA[]a=newIA[4

8、];a[0]=newA();a[1]=

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

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

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