您好,欢迎访问三七文档
《Java技术》实验报告教师评语教师签名:年月日一、实验目的1.掌握JDK的安装步骤(有条件的话可以在Linux系统下安装)。2.理解环境变量PATH,CLASSPATH的作用,以及它们的设置方法(Win98和Win2000/XP、Win7、Win8下的设置方法有所区别)。3.熟悉记事本(或JCreator)编辑环境,编写简单的Application程序,并编译和解释执行。4.记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。5.复习、理解OOP的三大特征——封装、继承和多态。6.学会使用Java编写简单的类。理解类的属性和方法。7.掌握关键字private,protected,public的作用,掌握静态类,内部类的概念。8.掌握多态的概念。二、实验原理1.掌握安装Jdk1.6的过程。2.设置环境变量PATH,CLASSPATH,使得Java程序能正确编译和执行。3.在记事本(或JCreator)环境下编写一个HelloWorld.java程序,在DOS提示符下编译并执行这个程序。4.编写一个类A,它位于包a中,保存到A.java中,再编写一个类B,它位于包b中,保存到B.java中。在类B中实例化类A的一个对象。分别编译类A和类B。5.分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:1)Point2D有两个整型成员变量x,y(分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x,y的初始化。2)Point2D有一个void型成员方法offset(inta,intb),它可以实现Point2D的平移。3)Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z(分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(intx,inty,intz)和Point3D(Point2Dp,intz),两者均可实现对Point3D的成员变量x,y,z的初始化。4)Point3D有一个void型成员方法offset(inta,intb,intc),该方法可以实现Point3D的平移。5)在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point2D的对象p3d1,p3d2,打印出他们之间的距离。三、使用硬件、软件环境PC计算机一台,配置为CPU为1.5G,内存为512M,硬盘为40G,安装WindowsXP操作系统。另外,使用eclipse,JDK1.6.0等软件四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等)1.安装Jdk1.5.0集成环境,安装成功后,配置path,classpath路径,让用户在任何目录下均可用到Java的系统资源。2.先在包a内构件类Point2D,并实现起初始化作用的构造函数,以及实现平移功能的方法。然后在包b内构造类Point3D并inport包a,使Point3D继承Point2D。并在主函数中分别实现3D和2D以及他们的函数功能。3.源程序packagea;publicclassPoint2D{doublex;doubley;Point2D(){}Point2D(doublei,doublej){x=i;y=j;}publicvoidoffset(doublea,doubleb){System.out.println(xmove+a);System.out.println(ymove+b);x=x+a;y=y+b;}publicstaticvoidmain(String[]args){}}----------------------------------------------------------------------------------------------------------packageb;importa;importjava.math.*;publicclassPoint3DextendsPoint2D{doublez;Point3D(doublea,doubleb,doublec){super(a,b);z=c;}Point3D(Point2Dp,doublel){x=p.x;y=p.y;z=l;}publicvoidoffset(doublej,doublek,doublel){System.out.println(xmove+j);System.out.println(ymove+k);System.out.println(zmove+l);x=x+j;y=y+k;z=z+l;}publicstaticvoidmain(String[]args){Point2Dp2d1=newPoint2D(3,4);Point2Dp2d2=newPoint2D(2,3);Point3Dp3d1=newPoint3D(3,4,5);Point3Dp3d2=newPoint3D(5,6,7);System.out.println(Math.sqrt((p2d1.x-p2d2.x)*(p2d1.x-p2d2.x)+(p2d1.y-p2d2.y)*(p2d1.y-p2d2.y)));System.out.println(Math.sqrt((p3d1.x-p3d2.x)*(p3d1.x-p3d2.x)+(p3d1.y-p3d2.y)*(p3d1.y-p3d2.y)+(p3d1.z-p3d2.z)*(p3d1.z-p3d2.z)));4.测试结果5.分析本程序成功实现了初始化两个在不同包内的对象,以及实现了子类对象对父类方法的引用与重写。也编写并验证了求两点距离的方法。但是平移函数的使用因为实验指导书中并没有明确要求,故没有再次验证。五、实验结论、分析、思考题与心得体会通过本次实验,我有以下几方面的收获、认识和体会:1、学会了在三种环境下编写程序及运行程序的方法;2、加深了Java中相关语法的认识:在初次录入源程序时,我将public写成了Public,导致编译出错,结合语法我认识到Java是严格区分大小写的。3、了解了对不同包内的函数的引用以及子类对父类方法的引用与重写。4、了解了super方法的用法。5、思考题一JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。6、思考题二PATH是java虚拟机在读取java文件时JDK的默认路径。而CLASSPATH是告诉虚拟机要去哪里实现我给他的类。这两者在系统属性中的系统变量中设置。7、思考题三创建子类对象时引用了父类的空构造函数作为自己的构造函数,然后再引用自己的有参构造函数来初始化变量。8、思考题四多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。在程序中有不同的参数可以使用同名的不同构造函数来体现。实验二:2017年9月日
本文标题:java实验报告一
链接地址:https://www.777doc.com/doc-6291311 .html