实验三 类与对象(一)

一、 实验目的

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 Circle{

PI=3.14;

double r;

double circumference(){

return 2*PI*r;

}

double area(){

return PI*r*r;

}}

(2) 改动当中的错误,使其能够正确编译;

(3) 採用记事本编写下面所给的Java程序并保存为CircleTest.java;

class CircleTest{

public 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.4f\n",c1.PI);

Circle c=new Circle(3);

System.out.printf("Area of the Circle is : %8.4f\n",c.area());

c1.setPI(3.1415926);

System.out.printf("PI is : %8.4f\n",c1.PI);

System.out.printf("Area of the Circle is : %8.4f\n",c.area());

(6) 上述代码将输出什么结果?通过阐述其执行过程说明出现该输出结果的原因。

4、 方法重载

(1) 採用记事本编写下面所给的Java程序并保存为Circle.java;

class SomeThing{

int 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;

else

y+=distance;

}

四、 实验结果

五、 实验小结

Java第三次实验要求的更多相关文章

  1. 20155210 潘滢昊 Java第三次实验

    Java第三次实验 实验内容 在IDEA中使用工具(Code->Reformate Code)把代码重新格式化 在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二 ...

  2. 南京邮电大学java第三次实验报告

    实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 4 月 ...

  3. Java第三次实验敏捷开发与XP实验

    实验三-1 1.实验要求: 实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA 参考 http: ...

  4. java第三次实验报告

    北京电子科技学院(BESTI) 实验报告 课程: Java程序设计 班级: 1352 姓名: 池彬宁 学号: 20135212 成绩: 指导教师: 娄嘉鹏 实验日期: 2015.6.3 实验密级: 无 ...

  5. java第三次实验

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计   班级:1352       姓名:陈实  学号:20135224 成绩:             指导 ...

  6. 20135208 JAVA第三次实验

    课程:Java实验   班级:201352     姓名:贺邦  学号:20135208 成绩:             指导教师:娄佳鹏   实验日期:15.06.03 实验密级:         ...

  7. 20165210 Java第三次实验报告

    20165210 实验二 敏捷开发与XP实践 一.敏捷开发与XP实践-1 实验要求: http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替 ...

  8. 20145320《Java程序设计》第三次实验报告

    20145320<Java程序设计>第三次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.22 15: ...

  9. 实验三《Java面向对象程序设计》实验报告

    20162308 实验三<Java面向对象程序设计>实验报告 实验内容 XP基础 XP核心实践 IDEA工具学习 密码学算法基础 实验步骤 (一)Refactor/Reformat使用 p ...

随机推荐

  1. JS使用onerror进行默认图像显示,可代替alt

    JS代码 //图像加载出错时的处理 function errorImg(img) { img.src = "默认图片.jpg"; img.onerror = null; } HTM ...

  2. TensorFlow L2正则化

    TensorFlow L2正则化 L2正则化在机器学习和深度学习非常常用,在TensorFlow中使用L2正则化非常方便,仅需将下面的运算结果加到损失函数后面即可 reg = tf.contrib.l ...

  3. ssh免密码登录远程服务器(不采用securecrt登录)

      http://blog.csdn.net/leexide/article/details/17252369       Linux/UNIX下使用ssh-keygen设置SSH无密码登录 标签:  ...

  4. queue 类

    一:普通队列 1.队列特征:先进先出,它只允许在一端(队尾)进行插入元素操作,在另一端(队头)进行删除元素操作 2. 存取类函数 front():用来取出queue中的队头元素,对应于front()函 ...

  5. poj 1734 Sightseeing trip判断最短长度的环

    Sightseeing trip Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5590   Accepted: 2151 ...

  6. 九度oj 题目1459:Prime ring problem

    题目描述: A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each ...

  7. shiro实现app和web统一登录

    (转自:http://www.cnblogs.com/sunshine-2015/p/5515429.html)   先说下背景,项目包含一个管理系统(web)和门户网站(web),还有一个手机APP ...

  8. BZOJ2938 [Poi2000]病毒 【AC自动机】

    题目 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码段,试问,是否存在 ...

  9. Zygote原理学习

    1 zygote分析 1.1 简介 Zygote本身是一个NATIVE层的应用程序,与驱动.内核无关.前面已经介绍过了,zygote由init进程根据init.rc配置文件创建.其实本质上来说,zyg ...

  10. redhat安装Xvfb

    1.下载xvfb的rpm包进行安装 下载rpm安装包:http://rhn.redhat.com/errata/RHBA-2013-0083.html 安装rpm包:#rpm -ivh --nodep ...