Java泛型与集合类实验:Media子类Book, Newspaper, Video管理

需积分: 9 1 下载量 47 浏览量 更新于2024-09-12 收藏 441KB DOCX 举报
"本实验主要涉及Java中的泛型与集合类的使用,以及系统管理模块的实践操作。实验目的是理解泛型技术,掌握泛型与普通类的区别,学习如何定义和使用泛型,同时熟悉Java集合框架中的类图关系,包括常用集合类和接口的运用。此外,还涉及到对系统管理模块的实践,如商品管理、订单管理和客户信息管理。" 在Java编程中,泛型是一种强大的工具,它允许程序员在类、接口和方法中定义类型参数,从而实现参数化的类型。实验六的重点在于理解和应用泛型。例如,例子5-9(MyBoxTest.java)展示了如何定义和使用泛型类,使得数据类型的检查提前到编译阶段,提高了代码的安全性和效率。同时,例子5-10(WildcardsTest.java)讲解了通配符在泛型中的应用,增强了代码的灵活性。 泛型与普通类的主要区别在于,泛型可以限制类实例化时的对象类型,防止了不兼容类型的数据插入,而普通类则没有这种限制。通过泛型,可以编写出更加通用和可复用的代码。在Media类中,我们定义了一个泛型类`<T>`,并提供了设置和获取编号的方法,以及一个搜索方法。通过子类Book、Newspaper和Video,我们可以看到每个子类都重写了search方法,实现了特定类型的搜索功能,这就是泛型对继承的支持。 实验六还涵盖了Java集合框架的学习,特别是Set集合类的使用,例如例子5-12(FindDups.java)中展示了HashSet类的应用,HashSet是不允许有重复元素的集合,适合查找不重复的元素。另外,例子5-15(Freq.java)使用了Map接口,具体是HashMap,来统计单词的词频,这体现了Map在存储键值对方面的强大功能。 实验七虽然没有给出具体的内容,但根据描述,它可能涉及到系统管理模块的实现,包括系统管理员如何使用权限管理商品、订单和用户信息。这通常会用到Java的面向对象特性,如封装、继承和多态,以及可能的数据库操作,如JDBC(Java Database Connectivity)。 这个实验旨在提高学生对Java泛型的理解,熟练掌握集合类的使用,并将这些知识应用于实际的系统管理场景中,通过编写和运行代码加深对概念的理解,提升编程能力。
2016-06-10 上传
实验七 Java多线程 一、实验目的: 熟悉利用Thread类建立多线程方法。 熟悉利用Thread接口建立多线程方法。 二、实验内容: 1. 阅读下列程序,分析并上机检验其功能。 class DelayThread exends Thread{ private static int count=0; private int no; private int delay; public DelayThread(){ count++; no=count; } public void run(){ try{ for (int i=0;i<10;i++){ delay=(int)(Math.random()*5000); sleep(delay); System.out.println(“Thread ”+no+” with a delay ”+delay); } }catch(InterruptedException e){}}} public class MyThread{ public static void main(String args[]){ DelayThread thread1=new DelayThread(); DelayThread thread2=new DelayThread(); thread1.start(); thread2.start(); try{ Thread.sleep(1000);}catch(InterruptedException e){ System.out.println(“Thread wrong”);}}} 2.讲上列程序利用Runnable接口改写,并上机检验。 3.利用多线程编写一个模拟时钟(AWT程序、Runnable接口),有时/分/秒针 编写一个应用程序,创建三个线程分别显示各自的时间。 三、实验要求: 1. 通过实验掌握Thread 、Runnable使用方法; 2. 程序必须能够实现多线程; 3. 程序必须能够完成题目要求; 4. 写出实验报告。 四、实验步骤: 首先分析程序功能,再通过上机运行验证自己的分析,从而掌握通过Thread类建立多线程的方法。 通过将扩展Thread类建立多线程的方法改为利用Runnable接口的方法,掌握通过Runnable接口建立多线程的方法。