




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2015-11-20张鑫包、接口 抽象类Java语言程序设计实验报告(七)电子商务1302电子商务李鸿儒实验名称:_ 指导教师:_实验日期:_专 业:_班 级:_姓 名:_一、实验目的:1.了解Java 中包(package)、接口(interface)和抽象类的作用。2.掌握包、接口、抽象类的设计方法。二、实验内容:一了解并使用Java 的系统包1API包、接口、异常处理的作用包是类和接口的集合。利用包可以把常用的类或功能相似的类放在一个包中。Java 语言提供系统包,其中包含了大量的类,可以在编写Java 程序时直接引用它们。所有Java API 包都以“java.”开头,以区别用户创建的包。接口解决了Java 不支持多重继承的问题,可以通过实现多个接口达到与多重继承相同的功能。处理程序运行时的错误和设计程序同样重要,只有能够完善处理运行时出错的程序,软件系统才能长期稳定地运行,异常处理就是说明如何处理程序运行时出错的问题。二创建并使用自定义包1自定义包的声明方式 声明包语句必须添加在源程序的第一行,表示该程序文件声明的全部类都属于这个包。2创建自定义包Mypackage在存放源程序的文件夹中建立一个子文件夹Mypackage。例如,在“E:javademo”文件夹之中创建一个与包同名的子文件夹Mypackage(E:javademoMypackage),并将编译过的class 文件放入该文件夹中。注意:包名与文件夹名大小写要一致。再添加环境变量classpath 的路径,例如:D:javajdk1.6lib; E:javademo3在包中创建类(1)YMD.java 程序功能:在源程序中,首先声明使用的包名Mypackage,然后创建YMD 类,该类具有计算今年的年份,可以输出一个带有年月日的字符串的功能。(2)编写YMD.java 文件,源代码如下。package Mypackage; /声明存放类的包import java.util.*; /引用java.util 包public class LX4_1_YMD private int year,month,day;public static void main(String arg3)public LX4_1_YMD(int y,int m,int d) year = y;month = (m=1) & (m=1) & (d=31) ? d : 1);public LX4_1_YMD() this(0,0,0);public static int thisyear() return Calendar.getInstance().get(Calendar.YEAR);/返回当年的年份public int year() return year;/返回年份public String toString()return year+-+month+-+day;/返回转化为字符串的年-月-日(3)编译LX4_1_YMD.java 文件,然后将LX4_1_YMD.class 文件存放到Mypackage 文件夹中。3编写使用包Mypackage 中LX4_1_YMD 类的程序(1)LX4_2.java 程序功能:给定某人姓名与出生日期,计算该人年龄,并输出该人姓名,年龄,出生日期。程序使用了LX4_1_YMD 的方法来计算年龄。(2)编写LX4_2.java 程序文件,源代码如下。import Mypackage.LX4_1_YMD; /引用Mypackage 包中的LX4_1_YMD 类public class LX4_2private String name;private LX4_1_YMD birth;public static void main(String args)LX4_2 a = new LX4_2(张驰,1990,1,11);a.output();public LX4_2(String n1,LX4_1_YMD d1)name = n1;birth = d1;public LX4_2(String n1,int y,int m,int d)this(n1,new LX4_1_YMD(y,m,d);/初始化变量与对象public int age() /计算年龄return LX4_1_YMD.thisyear() - birth.year(); /返回当前年与出生年的差即年龄public void output()System.out.println(姓名 : +name);System.out.println(出生日期: +birth.toString();System.out.println(今年年龄 : +age();(3)编译并运行程序,结果如图1所示。三使用接口技术1接口的定义与作用接口可以看作是没有实现的方法和常量的集合。接口与抽象类相似,接口中的方法只是做了声明,而没有定义任何具体的操作方法。使用接口是为了解决Java 语言中不支持多重继承的问题。(1)定义一个接口Shape2D,利用它来实现二维的几何形状类Circle和Rectangle 面积计算编写实现接口的程序文件(2)源代码。程序执行结果如图2所示:interface Shape2D/定义Shape2D接口final double pi=3.14;/数据成员一定要初始化public abstract double area();/抽象方法,不需要定义处理方式class Circle implements Shape2Ddouble radius;public Circle(double r)/构造方法radius=r;public double area()return (pi * radius * radius);class Rectangle implements Shape2Dint width,height;public Rectangle(int w,int h)/构造方法 width=w;height=h;public double area()return (width * height);public class InterfaceTester public static void main(String args)Rectangle rect=new Rectangle(5,6);System.out.println(Area of rect = + rect.area();Circle cir=new Circle(2.0);System.out.println(Area of cir = + cir.area();【完成实验项目】1.定义一个抽象基类Shape,它包含三个抽象方法center()、diameter()、getArea(),从Shape类派生出Square和Circle类,这两个类都用center()计算对象的中心坐标,diameter()计算对象的外界圆直径,getArea()方法计算对象的面积。编写编写应用程序使用Rectangle类和Circle类。2定义一个接口Insurance,接口中有四个抽象方法:public int getPolicyNumber();public int getCoverageAmount();public double calculatePremium();public Date getExpiryDate()。设计一个类Car,该类实现接口的方法,编写应用程序。三、实验结果与结论:(经调试正确的源程序(核心部分)和程序的运行结果)LX4_2.java程序执行结果如图1所示:图1InterfaceTester.java程序执行结果如图2所示:图21、定义一个抽象基类Shape,它包含三个抽象方法center()、diameter()、getArea(),从Shape类派生出Square和Circle类,这两个类都用center()计算对象的中心坐标,diameter()计算对象的外界圆直径,getArea()方法计算对象的面积。编写编写应用程序使用Rectangle类和Circle类。Math7_1.java源程序如下:abstract class Shape int x1,y1,x2,y2; Shape(int x1,int y1,int x2,int y2) this.x1=x1; this.y1=y1; this.x2=x2; this.y2=y2; public abstract String center(); public abstract double diameter(); public abstract double getArea();class Square extends Shape Square(int x1,int y1,int x2,int y2) super(x1,y1,x2,y2); public String center() return ( +(x2-x1)/2+,+(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); class Circle extends Shape Circle(int x1,int y1,int x2,int y2) super(x1,y1,x2,y2); public String center() return ( +(x2-x1)/2+,+(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 class Math7_1public static void main(String args) Square a=new Square(1,4,2,3); Circle b=new Circle(2,3,5,7); System.out.println(中心坐标是: +a.center(); System.out.println(外接圆直径是: +a.diameter(); System.out.println(面积是: +a.getArea(); System.out.println(中心坐标是: +b.center(); System.out.println(外接圆直径是: +b.diameter(); System.out.println(面积是: +b.getArea(); Math7_1.java程序执行结果如图3所示:图32、定义一个接口Insurance,接口中有四个抽象方法:public int getPolicyNumber();public int getCoverageAmount();public double calculatePremium();public Date getExpiryDate()。设计一个类Car,该类实现接口的方法,编写应用程序。Math7_2.java源程序如下:import java .util.Date;interface Insurance public abstract int getPolicyNumber(); public abstract int getCoverageAmount(); public abstract double calculatePremium(); public abstract Date getExpiryDate(); class Car implements Insurance public int getPolicyNumber() return 1011; public int getCoverageAmount() return 2000; public double calculatePremium() return 2003.1; public Date getExpiryDate() return null; public class Math7_2public static void main(String args) Car a=new Car(); System.out.println(Number: +a.getPolicyNumber(); System.out.println(Amount: +a.getCoverageAmount(); System.out.println(Premium: +a.calculatePremium(); System.out.println(ExpiryDate: +a.getExpiryDate(); Math7_2.java程序执行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年篮球中招考试标准及答案
- 2025年解读脑科学考试题及答案
- 2025年美术速写省考试题及答案
- 联考书法考试题目及答案
- 施工现场考试试卷及答案
- 如棋出行考试试题及答案
- 中国农业考试真题及答案
- 心理基础考试题目及答案
- 急救药品知识培训
- 急性左心衰说课课件
- 整套教学课件《现代心理与教育统计学》研究生
- 油漆安全技术说明书(MSDS)
- 基层医院如何做好临床科研课件
- RBA(原EICC)ERT应急准备与响应培训课件
- 核电质量保证培训讲义课件
- 食品安全知识竞赛参考题库500题(含答案)
- 河西走廊课件
- 药店医保网络安全应急管理制度
- 九年级英语全册单元测试题全套带答案(人教版新目标)
- 新人教版必修1丨化学第一课(绪言)
- 最新人教版小学数学四年级上册全册导学案
评论
0/150
提交评论