实验5 继承与接口(二)

实验5 继承与接口(二)

ID:38675351

大小:228.12 KB

页数:10页

时间:2019-06-17

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

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

1、实验5、继承与接口(二)一、实验目的1.子类的继承性2.深入理解类的继承的基本概念及实现。3.了解Object及对Object类的主要方法equals进行重写。4.掌握super关键字的作用。5.掌握抽象类与接口的基本概念及实际应用6.掌握对象多态性的作用。7.掌握接口的基本概念及实际应用。8.掌握接口回调的概念及运行机制。二、实验内容及步骤1、重写Object类的equals方法任务一:使用继承自Object类的equals方法进行Person对象的比较操作。(1)源代码如下:classPerson{privateStringnam

2、e;privateintage;publicPerson(Stringname,intage){this.name=name;this.age=age;}//getter与setter方法略。publicStringtoString(){return“姓名:”+this.name+”;年龄:”+this.age;}}publicclassPersonDemo{publicstaticvoidmain(Stringargs[]){Personperson1=newPerson(“李兴华”,30);Personperson2=newPer

3、son(“李兴华”,30);System.out.println(person1.equals(person2)?”是同一个人。”:”不是同一个人。”);}}(2)编译并运行应用程序。(3)实验报告将运行结果写在实验报告中。思考:应用程序中person1对象调用的equals方法是从哪个类继承的,请查看源代码,说明此equals方法的作用,即比较的内容。任务二:修改上述源代码Person类,使PersonDemo应用程序执行结果为“同一个人”。2、对象的上转型对象任务一:对象的上转型对象接收任意子类类型的对象(1)使用Object接收

4、一切的引用类型对象。源代码:classA{publicStringgetInfo(){return“HelloWorld!!!”;}}publicclassADemo{publicstaticvoidmain(Stringargs[]){Objectobj=newA();System.out.println(obj.getInfo());System.out.println(obj.toString());Aa=(A)obj;System.out.println(a.getInfo());System.out.println(a.to

5、String());}}(2)编译并运行程序。(3)实验报告将运行结果写在实验报告中。如果程序编译为通过,或运行时有错误提示,请说明原因,并将错误改正。任务二:上转型实现多态性(1)实例学习²不使用上转型对象实现多态性源代码如下:²使用上转型对象实现多态性:(2)阅读上述两个源代码,深刻理解使用上转型对象实现多态性机制。编译并运行第二个程序。(3)实验报告将运行结果写在实验报告中。3、抽象类与上转型对象练习任务一:通过对上述实验内容的实践与学习,根据要求填写代码。(1)要求:²有一个abstract类,类名为Employee;²该类有

6、一个abstract方法:publicabstractdoubleearnings();;²Employee的子类有YearWorker、MontthWorker和WeekWorker。YearWorker对象按年领取薪水,MonthWorker按月领取薪水,WeekWorker按周领取薪水。²子类必须实现父类的earnings()方法,返回各自领取薪水数。²有一个Company类,该类用employee数组作为成员,employee数组的单元可以是YearWorker对象的上转型对象、MonthWorker对象的上转型对象或Week

7、Worker对象的上转型对象。²程序能输出Company对象一年需要支付的薪水总额。(2)代码模板按模板要求,将代码1-4替换为java程序代码。abstractclassEmployee{publicabstractdoubleearnings();}classYearWorkerextendsEmployee{【代码1】//实现earnings()方法}classMonthWorkerextendsEmployee{【代码2】//实现earnings()方法}classWeekWorkerextendsEmployee{【代码3】

8、//实现earnings()方法}classCompany{Employee[]employee;doublesalaries=0;Company(Employee[]employee){this.employee=em

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

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

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