实验4

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验 4 包、接口与异常处理(exception)

一、实验目的

了解Java 中包(package)、接口(interface)和异常处理(exception)的作用,掌握包、接口、异常处理的设计方法。

二、实验环境

Windows XP系统下的MyEclipse7 jdk1.6

三、实验要求

1.了解Java 系统包的结构。

2.掌握创建自定义包的方法。

3.掌握使用系统接口的技术和创建自定义接口的方法。

4.理解系统异常处理的机制和创建自定义异常的方法。

四、实验内容

(一)了解并使用Java 的系统包

包是类和接口的集合。利用包可以把常用的类或功能相似的类放在一个包中。Java 语言提供系统包,其中包含了大量的类,可以在编写Java 程序时直接引用它们。为便于管理和使用它们,将这些类分为了不同的包。包又称类库或API 包,所谓API(Application Program Interface)即应用程序接口。API 包—方面提供丰富的类与方法供大家使用,如画图形、播放声音等,另一方面又负责和系统软硬件打交道,圆满实现用户程序的功能。所有Java API 包都以“java.”开头,以区别用户创建的包。

接口解决了Java 不支持多重继承的问题,可以通过实现多个接口达到与多重继承相同的功能。

处理程序运行时的错误和设计程序同样重要,只有能够完善处理运行时出错的程序,软件系统才能长期稳定地运行,异常处理就是说明如何处理程序运行时出错的问题。

(二)创建并使用自定义包

1.自定义包的声明方式

<自定义包名>

声明包语句必须添加在源程序的第一行(除注释以外的第一行),表示该程序文件声明的全部类都属于这个包。

2.创建自定义包Mypackage

在存放源程序的文件夹中建立一个子文件夹Mypackage。例如,在“E:\java\程序”文件夹之中

创建一个与包同名的子文件夹Mypackage(E:\java\程序\Mypackage),并将编译过的class 文件放入该文件夹中(如源文件在此文件夹中,不需要此步,直接编译就可以了)。注意:包名与文件夹名大小写要一致。再添加环境变量classpath 的路径,例如:E:\j2sdk1.4.2_01\lib; E:\java\程序

3.在包中创建类

♦YMD.java 程序功能:在源程序中,首先声明使用的包名Mypackage,然后创建YMD 类,该类具有计算今年的年份,可以输出一个带有年月日的字符串的功能。♦编写YMD.java 文件,源代码如下。

package Mypackage; //声明存放类的包

import java.util.*; //引用java.util 包

public class KY4_1_YMD {

private int year,month,day;

public static void main(String[] arg3){}

public KY4_1_YMD(int y,int m,int d) {

year = y;

month = (((m>=1) & (m<=12)) ? m : 1);

day = (((d>=1) & (d<=31)) ? d : 1);

}

public KY4_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;//返回转化为字符串的年-月-日}

}

♦编译KY4_1_YMD.java 文件,然后将KY4_1_YMD.class 文件存放到Mypackage 文件夹中(如要执行此程序,则要加上包名,即java Mypackage.KY4_1_YMD)。4.编写使用包Mypackage 中KY4_1_YMD 类的程序

♦KY4_2.java 程序功能:给定某人姓名与出生日期,计算该人年龄,并输出该人姓名,年龄,出生日期。程序使用了KY4_1_YMD 的方法来计算年龄。

♦编写KY4_2.java 程序文件,源代码如下。

import Mypackage.KY4_1_YMD; //引用Mypackage 包中的KY4_1_YMD 类

public class KY4_2

{

private String name;

private KY4_1_YMD birth;

public static void main(String args[])

{

KY4_2 a = new KY4_2("张驰",1990,1,11);

a.output();

}

public KY4_2(String n1,KY4_1_YMD d1)

{

name = n1;

birth = d1;

}

public KY4_2(String n1,int y,int m,int d)

{

this(n1,new KY4_1_YMD(y,m,d));//初始化变量与对象

}

public int age() //计算年龄

{

return KY4_1_YMD.thisyear() - birth.year(); //返回当前年与出生年的差即年龄

}

public void output()

{

System.out.println("姓名: "+name);

System.out.println("出生日期: "+birth.toString());

System.out.println("今年年龄: "+age());

}

}

♦编译并运行程序(执行程序时要加上包名,即java Mypackage.KY4_1_YMD)。(三)创建并使用接口

♦编写程序,源代码如下。

interface Flyanimal{

void fly();

}

class Insect {

int legnum=6;

}

class Bird {

int legnum=2;

void egg(){};

}

class Ant extends Insect implements Flyanimal {

public void fly(){

System.out.println("Ant can fly");

}

}

Class Pigeon extends Bird implements Flyanimal {

public void fly(){

System.out.println("pigeon can fly");

}

相关文档
最新文档