资源描述:
《java第五次实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、南昌航空大学实验报告2016年4月12日课程名称:Java语言程序设计实验名称:继承与接口(一)学号:14205204姓名:王颖同组人:指导教师评定:签名:一、实验目的1、掌握Java语言中继承的基本概念及使用方法;2、掌握Java语言中成员变量隐藏的基本概念及使用方法;3、掌握Java语言中super关键字的使用方法;4、理解继承与组合的区别;5、理解程序设计中代码复用的重要性。二、实验要求1、根据实验步骤中提出的要求,使用记事本编写相应的Java程序;2、使用JDK中提供的javac以及java命令编译、运行自己所编写的Java程序;3
2、、根据编译与运行过程中所获得的错误信息修改程序直至获得正确的结果;4、记录实验中遇到的各类问题并以及解决办法。三、实验步骤1、父类与子类(1)编写一个基本的Point类,其代码如下:classPoint{privatedoublex;privatedoubley;Point(doublex,doubley){this.x=x;this.y=y;}voidprint(){System.out.printf("x=%4.2f,y=%4.2f",x,y);}}(2)编写Point类的一个子类ColorPoint,并在该类中实现主方法,其代码如
3、下:classColorPointextendsPoint{intcolorType;finalstaticchar[]colors={'R','G','B'};ColorPoint(doublex,doubley,intcolorType){super(x,y);this.colorType=colorType;}voidprint(){super.print();System.out.printf("color:%s",colors[colorType]);}publicstaticvoidmain(Stringargs[]){Colo
4、rPointcp=newColorPoint(8,7,1);cp.print();}}(3)提问:ColorPoint构造方法中的两条语句是否可以颠倒?为什么?2、父类成员变量的访问(1)已知有父类Person与子类Student,其代码如下:classPerson{privateStringidNo;Stringname;booleansex;intage;publicPerson(StringidNo,Stringname,booleansex,intage){this.idNo=idNo;this.name=name;this.sex
5、=sex;this.age=age;}publicvoiddisplay(){System.out.println("姓名:"+name);System.out.println("性别:"+(sex?"男":"女"));System.out.println("年龄:"+age);System.out.println("身份证:"+idNo);}}classStudentextendsPerson{StringstudentNo;publicStudent(StringstudentNo,StringidNo,Stringname,boole
6、ansex,intage){super(idNo,name,sex,age);this.studentNo=studentNo;}publicvoiddisplay(){System.out.printf("学号:%s",studentNo);super.display();}}classPersonTest{publicstaticvoidmain(Stringargs[]){Studentst=newStudent("10201198","36...","***",true,20);st.display();}}(2)将代码编译并运
7、行,考虑子类是如何访问父类的私有变量的?(3)如果Student在example.school包中,而Person和PersonTest在example包中,而且将Person的display方法改为:publicvoiddisplay(){System.out.printf("学号:%s",studentNo);System.out.printf("姓名:%s**",name.substring(0,1));}(4)那么其它的代码应该如何修改?3、父类成员变量的访问(1)已知有父类Person与子类Student,其代码如下:cl
8、assFather{Stringname;Father(Stringname){this.name=name;}}classSonextendsFather{Stringname