java实验报告 接口、泛型、枚举、内部类与异常
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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){
GenericPool
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){