包、接口 抽象类&&异常处理【荟萃知识】

上传人:枫** 文档编号:490713720 上传时间:2023-02-02 格式:DOC 页数:7 大小:67.50KB
返回 下载 相关 举报
包、接口 抽象类&&异常处理【荟萃知识】_第1页
第1页 / 共7页
包、接口 抽象类&&异常处理【荟萃知识】_第2页
第2页 / 共7页
包、接口 抽象类&&异常处理【荟萃知识】_第3页
第3页 / 共7页
包、接口 抽象类&&异常处理【荟萃知识】_第4页
第4页 / 共7页
包、接口 抽象类&&异常处理【荟萃知识】_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《包、接口 抽象类&&异常处理【荟萃知识】》由会员分享,可在线阅读,更多相关《包、接口 抽象类&&异常处理【荟萃知识】(7页珍藏版)》请在金锄头文库上搜索。

1、淮阴工学院课程实验报告课程名称JAVA程序设计教程班级实验日期姓名学号实验成绩实验名称包、接口 抽象类&异常处理实验目的及要求实验目的:1. 了解Java 中包(package)、接口(interface)和抽象类的作用。2. 掌握包、接口、抽象类的设计方法。3. 了解Java异常处理(exception)的作用。4. 掌握异常处理的设计方法。实验要求:1. 了解Java 系统包的结构。2. 掌握创建自定义包的方法。3. 掌握使用系统接口的技术和创建自定义接口的方法。4. 理解系统异常处理的机制和创建自定义异常的方法。实验环境Windows2000 或XP,JDK1.6与Jcreator4.0

2、实验内容1.定义一个抽象基类Shape,它包含三个抽象方法center()、diameter()、getArea(),从Shape类派生出Square和Circle类,这两个类都用center()计算对象的中心坐标,diameter()计算对象的外界圆直径,getArea()方法计算对象的面积。编写编写应用程序使用Square类和Circle类。2定义一个接口Insurance,接口中有四个抽象方法:public int getPolicyNumber();public int getCoverageAmount();public double calculatePremium();publi

3、c Date getExpiryDate()。设计一个类Car,该类实现接口的方法,编写应用程序。3.定义泛型接口Function , 其中包含方法TResult fun(T element),该方法语义上根据一个T类型的参数得到一个TResul的结果。请定义一个CollectionUtil类,该类主要对集合进行操作,所有的方法都是静态方法。请思考并以下问题:1) 我们需要一个CollectionUtil对象吗?该类是否应该是抽象类?2) 定义方法Public static Collection convert(Collection data,Function converter) 注意: C

4、ollection是java集合的父接口对象,该方法的作用是针对集合data中的每一个元素,我们运用一个转换规则对象converter得到另外一个对象。例如:对于一个浮点数集合source为2.3,4.2,5.6,-2.4,对该集合中的每一个元素进行四舍五入操作,可以得到一个整数的集合2,4,6,-2,为了完成上述转换,我们可以定义转换类public class ToIntFun implements Function public Integer fun(Double x) return x四舍五入的结果;然后我们调用CollectionUtil. Convert(source,new To

5、IntFun(),该方法的调用结果就是我们想要的四舍五入的结果集合。请你完成方法convert和ToIntFun. Fun,并且编写一个主程序来测试。测试分为两个层次:a.测试单个元素的转换是否正确 b.测试集合的转换是否正确3) 定义接口Command,该接口包含方法void execute(T element),上述方法的作用是对一个T类型的参数element,做某个事情,最简单的是输出该元素的值。然后为CollectionUtil类定义静态方法 void foreach(Collection data, Command cmd)。该方法的作用是针对集合data中的每个元素,执行某个操作。

6、请你定义一个类Class PositionSum实现接口Command,并且在execute方法中完成将一个整数的所有位数和输出的功能。然后完成方法CollectionUtil.foreach并且在主程序中测试PositionSum和CollectionUtil.foreach。4. 自定义异常类MyException,该类继承自Exception类,类中只有含一个字符串参数msg的构造方法,构造方法中只有一条语句super(msg)调用父类的构造方法。另外,编写自定义类person,类中只有两个私有的变量,一个是字符串类型的姓名,另一个是整型变量age;有两个公有方法void getAge(

7、)和setAge(int age),其中setAge(int age)的功能是把参数age的值加到类中的变量age中(但要求age0,否则抛出自定义异常MyException类的对象),getAge()方法返回age的值。编写应用程序。算法描述及实验步骤调试过程及实验结果实验1测试结果:中心坐标为:(1.0,1.0)外界圆直径为2.8284271247461903面积为:8.0中心坐标为:(1.0,1.0)外界圆直径为2.8284271247461903面积为:13.56实验2测试结果:保单号:11100保险金额:12200保险总计:12345.6终止日期:null实验3测试结果:实验4测试结

8、果:请输入年龄:22张三的年龄为:22请输入年龄:-3Exception in thread main MyException: 年龄必须大于0at Person.setAge(Person.java:24)at Person.main(Person.java:36)总结附录实验1代码如下:public abstract class Shape protected double x1;protected double y1;protected double x2;protected double y2;Shape(double x1, double y1, double x2,double y

9、2)this.x1 = x1;this.y1 = y1;this.x2 = x2;this.y2 = y2;public abstract String center();public abstract double diameter();public abstract double getArea();public class Square extends ShapeSquare(double x1, double y1, double x2,double y2)super(x1,y1,x2,y2);public String center()return ( + (x2-x1)/2 + ,

10、 + (y2-y1)/2 + );public double diameter()return Math.sqrt(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);public double getArea()return (x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);public class Circle extends ShapeCircle(double x1, double y1, double x2,double y2)super(x1,y1,x2,y2);public String center()return ( + (x2-x1)/2 + , +

11、 (y2-y1)/2 + );public double diameter()return Math.sqrt(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);public double getArea()return 3.14*(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)/4;public static void main(String args)Square a = new Square(1.0,2.0,3.0,4.0);Circle b = new Circle(2.0,3.0,4.0,5.0);System.out.print(中心坐标为:);Syste

12、m.out.println(a.center();System.out.print(外界圆直径为);System.out.println(a.diameter();System.out.print(面积为:);System.out.println(a.getArea();System.out.print(中心坐标为:);System.out.println(b.center();System.out.print(外界圆直径为);System.out.println(b.diameter();System.out.print(面积为:);System.out.println(b.getArea(

13、);实验2代码如下:import java.util.Date;/定义接口public interface Insurance public abstract int getPolicyNumber(); public abstract int getCoverageAmount(); public abstract double calculatePremium(); public abstract Date getExpiryDate();import java.util.Date;public class Car implements Insurance public int getPolicyNumber() return 11100; /直接返回保单号 public int getCoverageAmount() return 12200; /返回保险金额 public double calculatePremium() return 12345.6; /返回保险的总金额 public Date getExpiryDate() return null ; /没有终止日期 public static void main(String args) Car a = new Car(); System.out.println(保单号:+a.getPolicyNumber

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号