合肥工业大学宣城校区Java技术实验一 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. 下载最新版本的JDK,并安装。
  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(int a, int b),它可以实现Point2D的平移。
  3. Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z (分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x, int y, int z)和Point3D(Point2D p, int z),两者均可实现对Point3D的成员变量x, y, z的初始化。
  4. Point3D有一个void型成员方法offset(int a, int b, int c),该方法可以实现Point3D的平移。
  5. 在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point3D的对象p3d1,p3d2,打印出他们之间的距离。

三、使用硬件、软件环境

PC 计算机一台,安装Windows10操作系统。
使用JCreator,JDK1.6.0等软件

四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

五、实验结论、分析、思考题与心得体会

思考题:
1.什么是JVM,它的作用是什么?
JVM就是java虚拟机,它是一个虚构出来的计算机,可在实际的计算机上模拟各种计算机的功能。JVM有自己完善的硬件结构,例如处理器、堆栈和寄存器等,还具有相应的指令系统。
JVM是java字节码执行的引擎,还能优化java字节码,使之转化成效率更高的机器指令。JVM中类的装载是由类加载器和它的子类来实现的,类加载是java运行时一个重要的系统组件,负责在运行时查找和装入类文件的类。不同的平台对应着不同的JVM,在执行字节码时,JVM负责将每一条要执行的字节码送给解释器,解释器再将其翻译成特定平台换将的机器指令并执行,这样就实现了跨平台运行。
2.如何理解PATH和CLASSPATH,,如何设置它们。
Windows中需要设置两个环境变量PATH和CLASSPATH。PATH变量指出java提供的可执行文件的路径,是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。CLASSPATH指出java包的路径,作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。
设置PATH变量,需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待。设置CLASSPATH变量,需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中。
3.Java中子类对象的创建过程的详细步骤是什么?
在第一次进行子类实例化时,执行顺序为:初始化父类专静态成员变量、子类静态成员变量、父类非静态成员变量、父类构造函数、子类非静态成员变量、子类构造函数;如果不是第一次进行实例化,则执行顺序为:父类非属静态成员变量、父类构造函数、子类非静态成员变量、子类构造函数。
4.什么是面向对象的多态性,在程序中如何体现的?
多态就是同一操作作用于不同的对象时,可以有不同的解释,产生不同的执行结果。
在父类写一个虚方法或抽象方法,子类去重写父类的方法,在调用的时候系统会根据对象运行时的类型决定调用哪个方法,使程序变得简洁明了。

心得体会:
在本次实验中,充分感受到,相较于c语言来说,Java更加贴近人类的思维,而且应用的范围更广。Java不再局限于某一个系统,而是为了适应不同的系统,而有不同的虚拟机,体现出Java广泛的适用范围。而Java的继承性和多态性,避免了重复写代码的问题,使代码更加的简洁、明了,更加地便于阅读和使用。
而且Java语言相较于c语言,更加地安全,便于使用。Java中部分变量无法直接修改,使得安全性更强,重写和重载的方法使得Java面向对象的特点突出,不同的对象有不同的特点和方法,这正是Java语言的优越性之一。

  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值