Java实验指导书(实验三).doc_第1页
Java实验指导书(实验三).doc_第2页
Java实验指导书(实验三).doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三 类与对象(一)一、 实验目的1、 掌握类与对象的基本概念;2、 掌握类的声明、创建与使用方法;3、 掌握类的构造方法的定义与使用方法4、 掌握类的成员变量、成员方法的定义与使用方法;5、 理解类变量、类方法与实例变量、实例方法的区别;6、 理解Java中方法重载的实现方式。二、 实验要求1、 根据实验步骤中提出的要求,使用记事本编写相应的Java程序;2、 使用JDK中提供的javac以及java命令编译、运行自己所编写的Java程序;3、 根据编译与运行过程中所获得的错误信息修改程序直至获得正确的结果;4、 记录实验中遇到的各类问题并以及解决办法。三、 实验步骤1、 类的声明、创建与使用(1) 采用记事本编写下面所给的Java程序并保存为Circle.java;final static double PI;class CirclePI=3.14;double r;double circumference()return 2*PI*r;double area()return PI*r*r;(2) 修改其中的错误,使其可以正确编译;(3) 采用记事本编写下面所给的Java程序并保存为CircleTest.java;class CircleTestpublic static void main(String args)Circle c=new Circle();System.out.printf(Area of the Circle is : %8.4f,c.area();(4) 运行CircleTest查看结果。(5) Java中变量都必须先赋值后使用,否则会出现编译错误(该变量未初始化),那么成员变量是否必须设定初值?2、 构造方法(1) Circle类没有声明构造方法,那么语句Circle c=new Circle();中调用的构造方法Circle()会不会出错?为什么?(2) 在Circle类中添加以下构造方法:Circle(double radius)r= radius;(3) 重新编译Circle.java之后(暂时不要重新编译CircleTest.Java),运行CircleTest将会出现什么错误?为什么?如何修改?3、 类变量与类方法(1) 在CircleTest类的main方法中添加以下代码:Circle c1=null;System.out.printf(PI is : %8.4f,c1.PI); /或Circle.PI(2) 修改后编译运行是否会出错?为什么?(3) 在Circle类中添加以下代码:static void setPI(double pi)PI=pi;this.r=3;(4) 重新编译Circle类会出现什么错误?为什么?如何修改?(5) 修改CircleTest类的main方法为:Circle c1=null;System.out.printf(PI is : %8.4fn,c1.PI); Circle c=new Circle(3);System.out.printf(Area of the Circle is : %8.4fn,c.area();c1.setPI(3.1415926);System.out.printf(PI is : %8.4fn,c1.PI); System.out.printf(Area of the Circle is : %8.4fn,c.area();(6) 上述代码将输出什么结果?通过阐述其执行过程说明出现该输出结果的原因。4、 方法重载(1) 采用记事本编写下面所给的Java程序并保存为Circle.java;class SomeThingint x;int y;void move(int x,int y)this.x=x;this.y=y;(2) 在SomeThingl类中尝试分别添加以下代码,以验证哪些形式的重载有效,并说明其原因boolean move(int x,int y)boolean flag=(this.x=x)&(this.y=y);this.x=x;this.y=y;return flag;void move(int width,int height)x+=width;y+=height;void move(int distance,boolean direction)if (direction)x+=distance;elsey+=distance;5、 对象组合( 选做 )(1) 请编写一个点类(Point),该类具有一个带参数的构造方法,用以设置点的坐标(x,y);(2) 请编写一个线段类(Line),该类具有两个属性,起点和终点(均为Point类型),该类具有带参数的构造方法,用以初始化起点和终点,另有一个public double length()方法,用以计算该线段的长度。再写一个方法public boolean isVertical(Line line)可以判断当前线段与另一线段是否垂直。(提示:可以通过两条直线的斜率k1*k2=-1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论