您好,欢迎访问三七文档
广东工业大学实验报告学院专业班学号姓名成绩评定_______实验5题目继承与接口实验课程名称Java与面向对象程序设计1一.实验目的(1)学习类的继承、子类在对象中调用父类定义的方法(2)学习类继承时方法的覆盖(3)学习java中抽象类的语法、子类中实现父类的抽象方法(4)了解JDK参考文档(5)学习文档注释、javadoc命令的使用(6)了解同一目录下,多个类并存且同名的情况对程序运行的影响(7)学习接口(8)学习内部类二.实验软件环境jdk1.6.0_18、windows7三.实验内容(1)编写一个java程序,在程序中定义一个PersonB类,定义一个PersonB类的子类StudentB类,再定义一个C2类,在main()方法生成StudentB类的两个对象packagecom.gdut.net.javaoo.class070120;//C2.javaclassPersonB{Stringname;intage;publicPersonB(){System.out.println(PersonB()被调用);}publicPersonB(StringnewName){name=newName;System.out.println(PersonB(StringnewName)被调用);}publicvoidintroduce(){System.out.println(我是+name+,今年+age+岁);}广东工业大学实验报告学院专业班学号姓名成绩评定_______实验5题目继承与接口实验课程名称Java与面向对象程序设计2}classStudentBextendsPersonB{publicStudentB()//[代码1]创建一个参数为空的StudentB类的构造方法,能显示“StudentB()被调用”{System.out.println(StudentB()被调用);}publicStudentB(StringnewName,intnewAge){super(newName);//[代码2]调用父类的publicPersonB(StringnewName)构造方法,传入newName参数,提示使用关键词super进行调用age=newAge;//[代码3]将newAge赋值给age属性}}classC2{publicstaticvoidmain(Stringargs[]){StudentBs1=newStudentB();StudentBs2=newStudentB(张三,19);s2.introduce();//[代码4]调用s2的introduce方法}}(2)编写一个java程序,在程序中定义一个Animal类,再定义两个Animal类的子类Bird、Fish类,在子类中覆盖父类的play方法packagecom.gdut.net.javaoo.class070120;//Overriding.javaclassAnimal{voidplay(){System.out.println(我是动物,我会很多本领);}}广东工业大学实验报告学院专业班学号姓名成绩评定_______实验5题目继承与接口实验课程名称Java与面向对象程序设计3classBirdextendsAnimal//[代码1]定义Animal类的子类Bird,覆盖Animal类的play方法,在play方法中输出“我是小鸟,我能飞翔”{voidplay(){System.out.println(我是小鸟,我能飞翔);}}classFishextendsAnimal//[代码2]定义Animal类的子类Fish,覆盖Animal类的play方法,在play方法中输出“我是小鱼,我能游泳”{voidplay(){System.out.println(我是小鱼,我能游泳);}}classOverriding{publicstaticvoidmain(Stringargs[]){Animals1=newAnimal();Birds2=newBird();Fishs3=newFish();s1.play();s2.play();s3.play();}}(3)编写一个java程序,随机产生一个0~10的随机整数,并且求这个数的平方根packagecom.gdut.net.javaoo.class070120;//UseJDK.javaimportjava.lang.Math;publicclassUseJDK{publicstaticvoidmain(Stringargs[])广东工业大学实验报告学院专业班学号姓名成绩评定_______实验5题目继承与接口实验课程名称Java与面向对象程序设计4{inta;a=(int)(Math.random()*10);System.out.println(a=+a);System.out.println(a+的平方根是+Math.sqrt(a));}}(4)编写两个java程序,在China.java中,显示“我是中国人”;在America.java中显示“我是美国人”//man.javapackageChinese;publicclassman{publicvoidsay(){System.out.println(我是中国人);}}//China.javaimportChinese.man;publicclassChina{publicstaticvoidmain(Stringargs[]){manzhangsan=newman();zhangsan.say();}}importAmerican.man;publicclassAmerica{publicstaticvoidmain(Stringargs[])广东工业大学实验报告学院专业班学号姓名成绩评定_______实验5题目继承与接口实验课程名称Java与面向对象程序设计5{manlisi=newman();lisi.say();}}(5)编写一个java程序,在程序中定义一个接口Achievement,定义一个父类Person,定义一个子类Student继承Person类并实现Achievement接口,在子类Student中实现接口中的抽象方法并调用父类的方法packagecom.gdut.net.javaoo.class070120;//JieKou.javainterfaceAchievement{publicfloataverage();//[代码1]定义一个返回float型的方法average()}classPerson{Stringname;intage;publicPerson(StringnewName,intnewAge){name=newName;age=newAge;}publicvoidintroduce(){System.out.println(你好,我是+name+,今年+age+岁);}}classStudentextendsPersonimplementsAchievement//[代码2]继承person类并实现Achievement接口{intChinese;intMath;intEnglish;publicStudent(StringnewName,intnewAge)广东工业大学实验报告学院专业班学号姓名成绩评定_______实验5题目继承与接口实验课程名称Java与面向对象程序设计6{super(newName,newAge);//[代码3]调用父类的构造方法publicPerson(StringnewName.intnewAge)}publicvoidsetScore(intc,intm,inte){Chinese=c;Math=m;English=e;}publicfloataverage(){return(Chinese+Math+English)/3;}}classJieKou{publicstaticvoidmain(Stringargs[]){Students1=newStudent(张三,16);s1.introduce();//[代码4]调用s1的introduce方法s1.setScore(80,90,80);System.out.println(我的平均分是+s1.average());//[代码5]显示s1的平均分}}(6)编写一个java程序,在程序中定义一个School类,在School类中定义一个内部类Student,分别创建这两个类的对象,访问个个对象中的方法packagecom.gdut.net.javaoo.class070120;//Inner.javaclassSchool{Stringname;publicclassStudent{Stringname;广东工业大学实验报告学院专业班学号姓名成绩评定_______实验5题目继承与接口实验课程名称Java与面向对象程序设计7intage;publicStudent(StringschoolName,StringstudentName,intnewAge){School.this.name=schoolName;name=studentName;age=newAge;}publicvoidoutput(){System.out.println(学校:+School.this.name);System.out.println(姓名:+this.name);System.out.println(年龄:+this.age);}}publicvoidoutput(){Studentstu=newStudent(金融学院,张三,24);stu.output();}}publicclassInner{publicstaticvoidmain(Stringargs[]){System.out.println(--通过外部类成员访问内部类成员--);Schoola=newSchool();a.output();System.out.println(--直接访问内部类成员--);School.Studentb=a.newStudent(金融学院,李四,23);b.output();}}四.实验的结果及分析广东工业大学实验报告学院专业班学号姓名成绩评定_______实验5题目继承与接口实验课程名称Java与面向对象程序设计8五.实验心得体会通过本章节的学习,对于本章节所要学习的目标都初步达到了。更好地掌握了java程序的编写以及其思想。
本文标题:java实验报告5
链接地址:https://www.777doc.com/doc-5678107 .html