实验课程报告单(数计)学院(07)级(计算机科学与技术)专业(本科)班(java程序设计)课程学号22姓名刘伟伟班级07计本实验课程Java程序设计基础实验题目包,接口与内部类实验日期2010-6-09指导老师褚万军实验内容及具体步骤:实验38.包11.实验目的及要求了解同一个目录下,多个类并存且有类同名的情况对程序运行的影响。2.实验内容编写两个Java程序,在China.java中,能显示我是中国人;在America.java中,能显示我是美国人。3.实验步骤代码如下://China.javapublicclassChina{publicstaticvoidmain(Stringargs[]){manzhangsan=newman();zhangsan.say();}}classman{voidsay(){System.out.println(我是中国人');}}//America.javapublicclassAmerica{publicstaticvoidmain(Stringargs[]){manlisi=newman();lisi.say();}}classman{voidsay(){System.out.println(我是美国人);}}4.实验结果实验39.包21.实验目的及要求本实验的目的是让学生掌握java程序中包的定义以及使用方法。2.实验内容编写两个Java程序,在China.java中,能显示我是中国人;在America.java中,能显示我是美国人。要求创建两个包chinese和american,用来放置man类。3.实验步骤代码如下://China.javaimportChinese.man;//导入Chinese包中的man类publicclassChina{publicstaticvoidmain(Stringargs[]){manzhangsan=newman();zhangsan.say();}}//America.javaimportAmerican.man;//导入American包中的man类publicclassAmerica{publicstaticvoidmain(Stringargs[]){manlisi=newman();lisi.say();}}Chinese包中man.java:packageChinese;//创建包Chinesepublicclassman{publicvoidsay(){System.out.println(我是中国人);}}American包中man.java:packageAmerican;//创建包Americanpublicclassman{publicvoidsay(){System.out.println(我是美国人);}}4.实验结果实验40.接口11.实验目的及要求学习接口定义的语法格式。学习接口成员变量的定义。学习接口成员方法的定义。学习接口实现的语法格式。2.实验内容编写一个Java程序,在程序中定义一个接口Shape,定义一个类Cylinder实现接口Shape,在Cylinder类中实现Shape接口中的抽象方法。3.实验步骤代码如下://MyInterface.javaimportjava.text.DecimalFormat;interfaceShape{floatpi=3.14F;//定义一个浮点型成员变量pi=3.14doublearea();//定义一个double型成员方法area();doublevolume();//定义一个double型成员方法volume();}classCylinderimplementsShape//实现接口Shape{privatedoubleradius;privateintheight;publicCylinder(doubler,inth){radius=r;height=h;}publicdoublearea()//实现Shape的area()方法,计算面积{returnpi*radius*radius;}publicdoublevolume()//实现Shape的volume()方法,计算体积{returnarea()*height;}}classMyInterface{publicstaticvoidmain(Stringargs[]){Cylindera=newCylinder(2,3);DecimalFormatmyFormat=newDecimalFormat(0.00);System.out.println(圆柱体的面积是+myFormat.format(a.area()));System.out.println(圆柱体的体积是+myFormat.format(a.volume()));}}4.实验结果实验41.接口21.实验目的及要求熟悉Java语言接口的使用。学习Java语言中多重继承的实现。2.实验内容编写一个Java程序,在程序中定义一个接口Achievement,定义一个父类Person,定义一个子类Student继承Person类并实现Achievement接口,在子类Student中实现接口中的抽象方法并调用父类的方法。3.实验步骤代码如下://JieKou.javainterfaceAchievement{floataverage();//定义一个返回值类型为float的方法average()}classPerson{Stringname;intage;publicPerson(StringnewName,intnewAge){name=newName;age=newAge;}publicvoidintroduce(){System.out.println(你好,我是+name+,今年+age+岁);}}classStudentextendsPersonimplementsAchievement//继承Person实现接口Achievement{intChinese;intMath;intEnglish;publicStudent(StringnewName,intnewAge){super(newName,newAge);//调用父类的构造方法,传递newName,newAge}publicvoidsetScore(intc,intm,inte){Chinese=c;Math=m;English=e;}publicfloataverage(){return(Chinese+Math+English)/3;}}classJieKou{publicstaticvoidmain(Stringargs[]){Students1=newStudent(张三,16);s1.introduce();//调用s1的introduce()方法s1.setScore(80,90,80);System.out.println(我的平均分是+s1.average());//显示s1的平均分}}4.实验结果实验42.内部类1.实验目的及要求了解内部类的作用。学习内部类的使用。学习内部类与外部类的访问原则。2.实验内容编写一个Java程序,在程序中定义一个School类,在School类中定义一个内部类Student,分别创建这两个类的对象,访问各个对象中的方法。3.实验步骤代码如下://Inner.javaclassSchool{Stringname;publicclassStudent{Stringname;intage;publicStudent(StringschoolName,StringstudentName,intnewAge){School.this.name=schoolName;//将schoolName赋给School类的name属性this.name=studentName;//将studentName赋给student类的name属性this.age=newAge;//将newAge赋给student类的age属性}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();}}4.实验结果