《类继承与接口(二)实验报告.docx》由会员分享,可在线阅读,更多相关《类继承与接口(二)实验报告.docx(7页珍藏版)》请在第壹文秘上搜索。
1、实验十类继承与接口二课程名称:面向对象程序设计实验实验工程名称:次验十类继承与接口(二)学生姓名:_专业:_学号:实验地点:实验日期:一年JJ一【实验目的】1.挈探JaVa类的继承特点,包拈子类声明、对象创立、成员变fit的继承叮防藏.成员方法的融承与垄写【实验内容】10-1程并阅读分析JS.要求有个abstract类.类名为EmPIOyee.EmPtoyee的子类有YearWOrker.MOnthWOrker和WeekWorker.YearWorker对软按年饭取薪水,MonthVVOrker按月浜取薪水,WeekWorker按冏领取薪水,EmP1.Oyee类存个abstract方法,子类必
2、须血与父类的earings()方法,给出各自领取报班的具体方式,2)何一个Company类,该类用emp1.oyee数2作为成员.emp1.oyee数2的第元可以是YearWorker收的上转型对象.MonmWorker对软的卜转型对象或MWeekWOrker对余的上转型对象.源程序:(请将源程序中补充的空缺代码处以穴划规黑粗显示):abstractc1.assEmpoyeepub1.icabstractdoub1.eear11ings():)c1.assYearWorkerextendsEmp1.oyee敢写earningsO方法代码1.)c1.assMonthWorkerextendsEm
3、p1.oyee,俚玛earningsO方法)c1.assWeekWorkerextendsEmp1.oyeef一写earnings()方法代码3,)c1.assCompany(EmpIoyeeQemp1.oyee;doub1.esa1.aries=。;Company(Emp1.oyee!)empoyee)this.emp1.oyee-emp1.oyee;pub1.icdoub1.eSa1.arieSPay()saariesO;计算sa1.aries代码明returnsa1.aries;)pub1.icc1.assHardWorkpub1.icstaticvoidmai(St11ngargs)E
4、mp1.oyee。emp1.oye=newEmp1.oyee(20;for(inti=0;iearnings()方法pub1.icdoub1.eearnngs()return80000.0;c1.assMonihWofkerextendsEmptoy鲍pub1.icdoub1.eearnings()return60000.0;)1c1.assWeekWorkerextendsEmp1.oyee(pub1.icdoub1.ecarnings()return400.0;)c1.assCompayEmpIoyeeUemp1.oyee;doub1.esa1.aries-O;ComPany(EmPIOy
5、ccemp1.oyee)1.his.mp1.oyee=emp1.oye;pub1.icdoub1.esa1.ariesPay()(sa1.aries=O;for(inti0;iemp1.oyee.1.ength;ir)sa1.aries-sa1.ariesempoyeei).ear11ings();returnsa1.aries:pub1.icc1.assHardWork(pub1.icstaticvoidmain(Stringargs()(EmpIoyeeOemp1.oyee-newEmpoyee20;for(inti=0;ijauCA.javR-:?:无臧薛态上下文中引用非群态变量this
6、S93ten.out.print1.n;kj-M-:8:无法从静态上下文中引用非静态变量superSysten.out.print1.n;错误(2)如果带上述类B的inti=10000改为staticinti=10000;类A的Irrti=100改为staticinti=100;程序是否出借?出借JK因(如果出借),出侑.不能在本上下文中引用this和SUPer(3)如果竹类B的main方法改为pub1.icstaticvoidmain(StringOargs)Bb=nwB();System.out.print1.n(b.i);System.out.print1.n((八)b.i);程序是否出
7、借?出借原因(如果出借)出借.(八)b.i废该为A.i,并轿类A的inti=100改为staticinti=100;如果没出借,蛤出结果:上HI的SyStemQUt.print1.n(b.i)的含义:System.out.pr1.nt1.n((八)b.i)的含义:6. c1.assAaainti;pub1.icvoidAaa(inta)i=a;)pub1.icstaticvoidma1.n(Str1.ng11args)Aaaa=newAaa(10);)是否出错:是出借原因(如果出修).pub1.icvoidAaa(inta)1.=a;应为构造f1.h不是方法,改为pub1.icAaa(1.nt
8、a)1.=a;7. c1.assAaapub1.icstaticvoidmain(String11args)IntOOa=newintSO;for(Int1.=0;1.a.1.ength;!+)for(intj=O;iai.1.ength;j+)aij=(int100*Math.randomO);System.out.print1.n(aij);)是否出是出借因(如果出借)int1111a=newint5;中没有列数量,改为int1111a=newint55;U且for(intj=0Jai.1.engthjj+)4iai.1.ength:Jfijjai.1.ength8. c1.assAint
9、abc(inti)(retum1;方法1Intabc(1.ntj)return2;1.2intabc(inti,intj)return3;)ZC13voidabc(int1.),方法4是否在槽,上面类A中定义的四个方法是否都是方法的,存没有震定义的方法,如果有,那么要几个方法是复定义的?不是.有无定义的方法,方法1.2,4为方法复定义.9. c1.assA(voidshow()System.out.print1.n(A类的show();c1.assBextendsAintshow()System.out.print1.n(B类的show();)pub1.icstaticvoidmain(Str1.ngargs)Bb=newB();b.show();上面程序中的方法BUf是否出是.出事因(如果出幡)类A中的方法voidShOM)和类B中的方法IntShOM)不同如果将类B中的方法Showoa*,intshow(intb)System.out.pr1.nt1.n(B类的show();returnb;看序是否出?实!域告要求将编程眶源程序、运行结果,以及实险中遇到的问题和解决问题的方法,可在失稳报告匕