实验三 类与对象(一)

一、 实验目的

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. python学习--学习时间属性的应用(time / datetime )

    #!/usr/bin/python # -*- coding:utf-8 -*- # import time # myd={1:'a',2:'b'}# for key,value in dict.it ...

  2. 使用python在校内发人人网状态(人人网看状态)_python

    #_*_coding:utf_8_ from sgmllib import SGMLParserimport sys, urllib2, urllib, cookielibimport datetim ...

  3. Android library projects cannot be launched解决方法

    着了一个例子项目,总是报标题说的错误. 解决方法如下: 红圈的地方,勾掉. 貌似如果你这个项目是作为一个被引用的project的话, 要勾上这个.单独作为一个app的话,不能勾选这个. --不懂,瞎写 ...

  4. Node.js 文件输入

    最近在尝试用 JavaScript (Node.js) 写题.为此,特地看了 ECMAScript 2017 Language Specification(大雾).写题一般是从文件输入,确切地说是,将 ...

  5. 周赛Problem 1021: 分蛋糕(埃拉托斯特尼筛法)

    Problem 1021: 分蛋糕 Time Limits:  1000 MS   Memory Limits:  65536 KB 64-bit interger IO format:  %lld  ...

  6. 刷题总结——game(hdu4616)

    题目: Nowadays, there are more and more challenge game on TV such as 'Girls, Rush Ahead'. Now, you par ...

  7. 【前端学习笔记】2015-09-01 附二 关于jq选择器的简单运用

    根据id来选择------$("#id") 根据class来选择------$(".classname") 根据tag来选择-------$("tag ...

  8. bzoj 1857 三分套三分

    题目大意 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R.现在lxh ...

  9. jrebel 激活

    jrebel idea插件激活,亲测可用: 在jrebel server处,写上: http://139.199.89.239:1008/88414687-3b91-4286-89ba-2dc813b ...

  10. javaweb学习总结(十四)——JSP原理(转)

    一.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于,写jsp就像在写h ...