77范文网 - 专业文章范例文档资料分享平台

实验五

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

计算机科学与技术系

实 验 报 告

专业名称 计算机科学与技术 课程名称 JAVA语言程序设计 项目名称 JAVA语言的编程环境和开发工具

班 级

学 号 姓 名 实验日期 2016/3/7

1

实验五 接口、包、异常

1、 实验性质:验证型 2、 实验学时:2学时

一、 一、实验目的

1. 掌握接口的定义和应用特点。

2. 熟悉包的定义和使用。学会如何引用自定义的类包或第三方类包。同时进一步理解类修

饰符和成员修饰符对访问性的影响。 3. 熟悉Java捕捉异常机制。

二、 二、实验内容

1. 接口实验

程序文件Ex5_1.java。运行该程序,然后按【思考问题】内容修改和观察程序。

interface rec_Area_Peri { int getArea();//计算面积 int getPerimeter();//计算周长 }

//用接口的方法来实现具体的操作步骤

class rectangle implements rec_Area_Peri { int width,length; rectangle(int w,int l) {width=w; length=l; }

public int getArea()

{return width*length;} public int getPerimeter()

{return (2*(width+length));} }

public class Ex5_1

{ public static void main(String args[]) { rectangle rect=new rectangle(10,20);

System.out.println(\矩形面积=\

System.out.println(\矩形周长=\ } }

运行结果:

矩形面积=200 矩形周长=60

【思考问题】

①在实现类rectangle中注释掉一个方法后进行编译,看发生了什么?为什么?

2

答:错误:调用rect.getPerimeter()方法发生错误,因为在interface接口中只是声明了getPerimeter()方法,并没有具体的实现。

②在实现类rectangle中将各实现方法前的public修饰符去掉再进行编译,看发生了什么?为什么?

答:错误:不能降低自 rec_Area_Peri 继承的方法的可视性,因为rec_Area_Peri本身是公有的,但在类rectangle中默认的比公有的高,所以降低自 rec_Area_Peri 继

承的方法的可视性。

③将接口rec_Area_Peri中定义的两个方法前加上abstract修饰符再编译,看对程序有影响否?为什么?

答:没有影响,因为类rectangle实现接口rec_Area_Peri

④不用单独的实现类rectangle,直接在主类classe Ex5_1中实现那两个方法,如何修改程序?

答:package example;

publicclass Ex5_1 implements rec_Area_Peri{ }

运行结果:

矩形面积=200 矩形周长=60 intwidth,length; Ex5_1(int w,int l)

{ }

publicint getArea() {

returnwidth*length; }

publicintgetPerimeter() {

return (2*(width+length));

}

width=w; length=l;

publicstaticvoid main(String args[]) { Ex5_1 e=new Ex5_1(10,20);

System.out.println(\矩形面积=\+e.getArea()); System.out.println(\矩形周长=\+e.getPerimeter()); }

⑤将接口rec_Area_Peri中定义的两个方法拆分定义成两个接口,即每个接口只定义一个方法,程序将如何修改?

package example;

3

publicinterfacerectangleA { int getArea();//计算面积 }

package example;

publicinterface rectangleP { int getPerimeter();//计算周长 }

package example;

publicclass rectangle_2 implements rectangleA,rectangleP{ }

package example;

publicclass Ex5_1_2 { }

运行结果:

矩形面积=200 矩形周长=60

publicstaticvoid main(String args[])

{ rectangle_2 rect=newrectangle_2(10,20); System.out.println(\矩形面积=\+rect.getArea()); System.out.println(\矩形周长=\+rect.getPerimeter()); }

intwidth,length;

rectangle_2(int w,int l) {width=w; length=l; }

publicint getArea() {returnwidth*length;} publicint getPerimeter()

{return (2*(width+length));}

2.包的定义与使用

第一步:不使用包(使用默认包)

在工程文件project1下创建两个java文件,一个是mypack.java文件,定义两个类classA和classB,类修饰符为默认。另一个是主类文件,在该类中使用classA和classB。两个java文件全部使用默认包。

----------------mypack.java源代码---------------------------- class classA { int a; void aaa() {a=100;

4

System.out.println(\的输出\ } }

class classB {int b; void bbb() {b=200;

System.out.println(\的输出\ } }

----------------------Ex5_2.java源代码-------------------------- public class Ex5_2

{ public static void main(String args[]) { classA objA=new classA(); classB objB=new classB(); objA.aaa(); objB.bbb(); } }

运行Ex5_2,观察运行结果。 运行结果:

classA的输出100 classB的输出200

第二步:采用包,两个java文件用同一个包,即编译后的三个class文件放在同一个mypackage1包中。

----------------------mypack.java源代码----------------------------

package mypackage1; class classA { int a; void aaa() {a=100;

System.out.println(\的输出\ } }

class classB {int b; void bbb() {b=200;

System.out.println(\的输出\ } }

----------------------Ex5_2.java源代码-------------------------- package mypackage1; public class Ex5_2

{ public static void main(String args[])

5

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验五在线全文阅读。

实验五.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/471222.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: