java实验报告 接口、泛型、枚举、内部类与异常

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

实验报告

课程名称: Java程序设计成绩评定:

实验项目名称:接口、泛型、枚举、内部类与异常指导教师:

学生姓名:学号:专业班级:

实验项目类型:基础实验地点:实验时间:

一、实验目的与要求:

1、理解接口的定义与实现;

2、知道泛型、枚举型与内部类的基本应用;

3、掌握常用异常的抛出与捕获及处理.

二、实验环境:(硬件环境、软件环境)

1.硬件环境:奔ⅣPC。

2.软件环境:Windows XP 操作系统,JDK6.0。

三、实验内容:(原理、操作步骤、程序代码等)

任务:

1、按照要求完成下述接口及实现类的程序

1)定义名称为PCI()的接口,包括启动的方法start和关闭的方法stop;

2)定义名称为NetworkCard 的类表示网卡,实现PCI接口,并且其在实现start

方法时输出“sending data……”,在实现stop方法时输出“network stop.”

3)定义名称为SoundCard 的类表示声卡,实现PCI接口;并且其在实现start

方法时输出“dudu……”,在实现stop方法时输出“sound stop.”

4)定义名称为MainBoard 的类表示主板,包含方法public void usePCICard(PCI

p),在方法体内通过p来启动和关闭组件;

5)定义一个包含main方法的Test类,在main方法内创建一个MainBoard 对

象用mb来引用,创建一个NetworkCard对象用nc来引用,创建一个

SoundCard对象用sc来引用,分别通过mb来使用usePCICard(PCI p)启动声

卡和网卡。

2、泛型类程序的调试

调试教材P165的程序8-2,写出程序运行结果,理解泛型类的工作机理及应用。

3、调试运行内部类程序:

在类内部再定义另外一个类,这个另外定义的类就叫内部类。调试教材P171-172程序8-3,写出程序运行结果,理解内部类的定义方法与应用。

4、异常抛出与捕获编程与调试

先调试教材P182、183中的程序9-2和9-3,写出调试结果。然后,自己编写一个能抛出并捕获、处理NullPointerException、NumberFormanException多异常的程序,并调试后写出运行结果。

具体操作步骤及程序代码为:

1.

interface PCI{

public void start();

public void stop();

}

class NetworkCard implements PCI{

public void start(){

System.out.println("sending data......"); }

public void stop(){

System.out.println("network stop."); }

}

class SoundCard implements PCI{

public void start(){

System.out.println("dudu......");

}

public void stop(){

System.out.println("sound stop.");

}

}

public class MainBoard{

public void usePCICard(PCI p){

p.start();

p.stop();

}

public static void main(String[] args){

NetworkCard nc=new NetworkCard();

SoundCard sc=new SoundCard();

MainBoard mb=new MainBoard();

ePCICard(nc);

ePCICard(sc);

}

}

2.public class GenericPool{

private Object[] objArray;

private int headLoc;

private int tailLoc;

public GenericPool(int length){

objArray=new Object[10];

headLoc=-1;

tailLoc=-1;

}

public T get(){

Object result=null;

int idx=(headLoc+1)%objArray.length;

if(objArray[idx]!=null){

result=objArray[idx];

objArray[idx]=null;

headLoc++;

}

return (T)result;

}

public int add(T o){

int ins=(tailLoc+1)%objArray.length;

if(objArray[ins]!=null){

return -1;

}

objArray[ins]=o;

tailLoc=ins;

return ins;

}

public static void main(String[] args){

GenericPoolpool=new GenericPool(2);

System.out.println(pool.add("1"));

String x=pool.get();

System.out.println(x);

System.out.println(pool.add("2"));

}

}

3.public class OutClass{

private String name;

private String state;

public OutClass(String name,String state){

相关文档
最新文档