Java实验五

更新时间:2024-03-21 04:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验五 包、接口、类库与向量类

一、实验目的

(1) 掌握创建包与引用包的方法; (2) 掌握用接口实现多重继承的机制; (3) 熟悉向量类的引入和使用。

二、实验内容

1.基本指导 指导内容1: 包的创建和引用。 实验步骤:

(1) 开机后,在java实验目录下创建test5子目录。本阶段的Java源程序都放在这个子

目录中。字节码文件则根据建包的情况放在test5相应的子目录中。 (2) 打开一个纯文本编辑器,输入如下的代码:

package p1; public class DefiPackage { public void display(){ System.out.println(\ } } (3) 将文件命名为DefiPackage.java,保存在java实验目录的test5子目录下。 (4) 打开MS-DOS窗口,转到DefiPackage.java所在的目录,键入命令:

javac -d . DefiPackage.java

(5) 键入Dir 命令,可以看到在test5子目录下创建了p1的子文件夹。接着键入下面的

命令以查看p1下的文件,可以看到DefiPackage.class存储在此文件夹下。 cd p1 dir (3)、(4)、(5)的操作步骤如图5-1所示。

1

图5.1

(6) 在另一个文件中输入如下的代码:

import p1.DefiPackage; public class TestPackage { public static void main(String[] args) { DefiPackage t=new DefiPackage(); t.display(); } } (7) 把文件命名为TestPackage.java,保存在java实验目录的test5子目录下。 (8) 编译并运行该程序,程序的运行结果如图5.2所示

图5.2

(9) 在文件TestPackage.java中加入包定义语句:[package p2;],重新正确地编译和运行

该程序,从中理解包的概念。 指导内容2:

创建两个Vector类,分别记录凭证的名称和日期。并根据给定的凭证日期,查询满足条件的凭证名称,或根据给定的凭证名称,查询凭证的日期。 实验步骤:

2

(1) 打开一个纯文本编辑器,输入如下的代码:

import java.util.*; public class CreateVector { public static void main(String[] args) { Vector voucherName=new Vector(); Vector voucherDate=new Vector(3); voucherName.add(\收款凭证001\ voucherName.add(\收款凭证002\ voucherName.add(\收款凭证003\ voucherName.add(\收款凭证004\ voucherDate.add(\ voucherDate.add(\ voucherDate.add(\ voucherDate.add(\ System.out.println(voucherName); System.out.println(voucherDate); } } (2) 将文件命名为CreateVector.java,保存在java实验目录的test5子目录下。 (3) 编译并运行该程序,程序的运行结果如图5-3所示。

图5-3

(4) 在上面程序的main方法中接着添加如下的程序代码: if(voucherDate.contains(\ String res=\存在日期是2004/01/08的凭证,凭证号是\ voucherName.elementAt(voucherDate.indexOf(\ System.out.println(res); } (5) 重新编译并运行该程序,程序的运行结果如图5-4所示。

图5-4

(6) 继续添加代码,查询当给定凭证名称为“收款凭证002”时的凭证日期。 2.练习思考

3

练习内容:

创建接口Speakable和Runner,然后创建两个类Dog和Person实现该接口。 程序代码:

interface Speakable{ public void speak(); } interface Runner{ public void run(); } class Dog implements Speakable,Runner{ public void speak(){ System.out.println(\狗的声音:汪、汪!\ } public void run(){ System.out.println(\狗用四肢跑步\ } } class Person implements Speakable,Runner{ public void speak(){ System.out.println(\人们见面时经常说:您好!\ } public void run(){ System.out.println(\人用两腿跑步\ } } public class TestInterface{ public static void main(String[] args) { Dog d=new Dog(); d.speak(); d.run(); Person p=new Person(); p.speak(); p.run(); } } 思考问题:

运行上面的程序,思考如下的问题: (1) 该程序编译后生成几个字节码文件?

(2) 创建一个类Bird(鸟),给出其声音特征,并在主类中创建一个Bird类的实例,输

出其特征。

(3) 如何编写抽象类代替程序中的接口,实现程序同样的功能。试比较它们的不同。 3.上机作业

(1) 创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和

4

stop()。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stopt()方法。

(2)创建一个名称为MainPackage的包,使它包含ParentClass和SubClass。ParentClass包

含变量声明,其值从构造函数中输出。SubClass类从父类派生而来,完成对父类变量的赋值。创建一个名称为DemoPackage的主类,使它不在MainPackage包中,在该类中创建一个SubClass类的对象。

5

本文来源:https://www.bwwdw.com/article/0lw8.html

Top