实验三 类与对象(一)

一、 实验目的

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. webdriver高级应用- 禁止Chrome浏览器的PDF和Flash插件

    #encoding=utf-8 from selenium import webdriver # 导入Options类 from selenium.webdriver.chrome.options i ...

  2. wordpress 获取站点的所有链接

    <?php include "wp-load.php"; $posts = new WP_Query('post_type=any&posts_per_page=-1 ...

  3. [转]netstat -tnl 列出监听中的连接,查看端口是否开启

    任何网络服务的后台进程都会打开一个端口,用于监听接入的请求. 这些正在监听的套接字也和连接的套接字一样,也能被 netstat 列出来. 参数 tnl, 现在我们可以看到处于监听状态的 TCP 端口和 ...

  4. failed to allocate for range 0: no IP addresses available in range set: 172.20.xx.1-172.20.xx.254

    今天遇到一个机器上的Pod 在创建以后一直处于Init 0/1的状态,进到这个节点查看其kubelet的状态,发现果然有问题 systemctl status kubelet .go:] Contai ...

  5. Windows上安装DB2——从IBM官网得到90天试用版

    我在下面选的90天试用版: https://www.ibm.com/developerworks/cn/downloads/im/db2/ 进入下载页面,选择Windows https://www-0 ...

  6. C#:使用WebRequest类请求数据

    本文翻译于:https://msdn.microsoft.com/en-us/library/456dfw4f(v=vs.110).aspx 下列程序描述的步骤用于从服务器请求一个资源,例如,一个We ...

  7. 应用express mockjs模拟前端json数据接口

    一.首先需要在项目安装express 1.cnpm install express --save-dev  2.cnpm install mockjs --save-dev 二.在项目根目录下新建pr ...

  8. Linux Malloc分析-从用户空间到内核空间【转】

    转自:http://blog.csdn.net/ordeder/article/details/41654509 版权声明:本文为博主(http://blog.csdn.net/ordeder)原创文 ...

  9. Lucene.net站内搜索-最简单搜索引擎代码

    Lucene.Net核心类简介 先运行写好的索引的代码,再向下讲解各个类的作用,不用背代码. (*)Directory表示索引文件(Lucene.net用来保存用户扔过来的数据的地方)保存的地方,是抽 ...

  10. npm install Unexpected token in JSON at position XXX

    问题描述执行npm install命令时出错,查看日志发现: Unexpected token < in JSON at position 183718 解决方法删除根目录下package-lo ...