




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计实验指导书长春工业大学人文信息学院信息管理系信息管理与信息系统专业2009-3-27前言一、上机实验目的二、实验基本内容三、实验任务与时间安排实验 1 Java 运行环境安装、配置与运行一、实验目的二、实验要求三、实验内容(一)SDK 的下载与安装(二)设置环境变量(三)编写、编译Java 源程序(四)编译Java 源程序(五)运行Java 程序(六)安装、使用Eclipse软件(七)浏览SDK 自带的Applet 应用小程序。实验 2 Java 基本语法练习一、实验目的二、实验要求三、实验内容(一) 声明不同数据类型的变量(二) 了解变量的使用范围(三) 使用表达式语句与复合语句(四) 使用选择语句(五) 使用循环语句(六) 综合性练习猜数字游戏实验 3 面向对象编程练习一、实验目的二、实验要求三、实验内容(一)了解类的声明(二)了解类的使用(三)强化类的声明和类的使用 (下列题目任选一个完成)(四)访问权限(五)类成员和实例成员(六)类的继承性练习(七)类的多态性练习(八)类的接口(九)包实验4 图形用户界面一、实验目的二、实验要求三、实验内容(一)小应用程序(二)图形用户界面(三)了解事件处理机制实验5 线程一、实验目的二、实验要求三、实验内容(一)继承Thread类的方法实现多线程(二)实现Runnable接口的方法实现多线程(三)同步机制(四)综合实验排队买票实验6 流与文件一、实验目的二、实验要求三、实验内容(一)使用标准数据流的应用程序(二)使用文件输入输出流的应用程序(三)使用随机文件类的应用程序(四)使用数据输入输出流与文件输入输出流类的应用程序(五)使用对象输入输出流的应用程序前言 一、上机实验目的 上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解 Java 语言的基本结构和程序设计方法。通过亲手编程掌握 Java 语言编程的方法。 二、实验基本内容 为了使学生在上机实验时目标明确,本实验指导书针对课程内容编写了 10 个实验。学生可以在课内机时先完成指导书中给出的程序,理解所学的知识,在此基础上再编写其他应用程序。指导书中的 10 个实验如下。 1Java 程序运行环境安装与配置。 2Java 基本语法的编程练习。 3面向对象编程练习。 4窗口与菜单界面编程练习。 5线程6流与文件三、实验任务与时间安排 Java 语言是一门实践性很强的课程,除了在课内安排的实验外,鼓励同学在课外用相关技术 进行编程练习。Java 语言上机实验时间为16学时。具体实践课时安排如下:实验序号知识点实践课时备注1Java 运行环境的安装、配置22Java基本语法练习23面向对象编程练习64图形用户界面25线程26流与文件2实验 1 Java 运行环境安装、配置与运行 一、实验目的 1 掌握下载 Java SDK 软件包。 2 掌握设置 Java 程序运行环境的方法。 3 掌握编写与运行 Java 程序的方法。 4 了解 Java 语言的概貌。 5 安装、掌握Eclipse软件,为学习 Java 语言和进行 Java 程序的实验做好准备工作。6 浏览Applet 程序二、实验要求 1 安装并设置 Java SDK 软件包。 2 编写一个简单的 Java 程序,在屏幕上输出”hello,java!”。 public class Hello public static void main(String args) System.out.println(hello,java!); 3 掌握运行 Java 程序的步骤。 4 浏览 SDK 自带的 Applet 应用小程序。三、实验内容(一)SDK 的下载与安装机器要求 Java 对机器运行要求不高。下面给出的是基于Windows 平台的机器要求。硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。软件要求:Windows98/Me/XP/NT/2000,IE 5 以上。下载SDK 为了建立基于SDK 的Java 运行环境,需要先下载Sun 的免费SDK 软件包。SDK 包含了一整套开发工具,其中包含对编程最有用的是Java 编译器、Applet 查看器和Java 解释器。在浏览器中输入/,在页面的“Download J2SE v 1.4.2_01 ”栏可以选择下载 J2SE v 1.4.2_01 SDK 软件包。有两种选择:一种是在线安装“Windows Installation”;一种是离线安装“Windows Offline Installation”。安装SDK运行下载的“j2sdk-1_4_2_01-windows-i586.exe”软件包,可安装SDK,在安装过程中可以设置安装路径及选择组件,系统默认的安装路径为C: j2sdk1.4.2_01(这里选择E 盘),默认的组件选择是全部安装。SDK 中的主要文件夹和文件安装成功后,E: j2sdk1.4.2_01 中的文件和子目录其中,bin 文件夹中包含编译器(javac.exe)、解释器(javac.exe)、Applet 查看器(appletviewer.exe)等可执行文件(二)设置环境变量SDK 中的工具都是命令行工具,需要从命令行即MSDOS 提示符下运行它们。很多人可能会不习惯,但这是Sun 特意采取的策略,为的是把精力更多地投入到Java 语言本身而不是花在开发工具上。为了能正确方便的使用SDK,可手工配置一些Windows 的环境变量,Windows 98 与Windows/xp/NT/2000 的配置略有不同。下面以Windows/xp/NT/2000为例说明相关配置。1 设置Windows XP/NT/2000 在桌面“我的电脑”图标上单击右键,选择“属性”菜单,将出现系统特性设置界面 在“高级”选项卡中单击“环境变量”按钮。将出现“环境变量”设置界面 在“系统变量”框中选择“Path”,然后单击“编辑”按钮,在出现的“编辑系统变量”对话框中, 在“变量值”栏的命令前添加“E:j2sdk1.4.2_01bin;”命令 用同样方法设置环境变量“classpath”,其值为“E:j2sdk1.4.2_01lib;”命令。 设置完成后,单击“开始”“所有程序”“附件”“命令提示符”打开DOS 窗口,在命令提示符下输入“java”或“javac”,回车后,如果出现其用法参数提示信息,则安装正确2 设置DOS 起始位置为了在打开DOS 窗口时可以直接进入包含你开发的java 程序的路径下,下面以Windows XP/2000为例说明设置过程。 首先建立一个存放java 源程序的路径和文件夹,如将实验中建立的java 源程序都存放在为“e:java程序”文件夹中。 单击“开始”“所有程序”“附件”“命令提示符”,选择“命令提示符”选项右击, 在出现的下拉菜单中选择“属性”菜单,将打开“命令提示符 属性”对话框,如图1.11 所示。 在“命令提示符 属性”对话框中选择“快捷方式”选项,在“起始位置”栏输入“e:java程序”,单击“确定”按钮。进行了上面的设置后,打开DOS 窗口时将直接进入“e:java程序”路径下。如果没有进行上述设置,可使用DOS 命令,直接输入“e:”按回车进入到e 盘,再输入“cd java”到e 盘的java 子目录下,再输入“cd 程序”即可到“e:java程序”路径下。(三)编写、编译Java 源程序1 打开一个纯文本编辑器,键入如下程序:2 将文件命名为Hello.java,保存为文本文件格式文件,注意保存文件的路径。根据前面环境变量的设置,Hello.java 应该保存在“e:java程序”的路径下。(四)编译Java 源程序Java 源程序编写后,要使用Java 编译器(javac.exe)进行编译,将Java 源程序编译成可执行的程序代码。Java 源程序都是扩展名为 .java 的文本文件。编译时首先读入Java 源程序,然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为 .class。1 打开命令提示符窗口(MSDOS 窗口)进入Java 源程序所在路径。2 键入编译器文件名和要谝译的源程序文件名。javac Hello.java3 按回车键开始编译(注意:文件名H 要大写,否则运行会出问题)。如果源程序没有错误,则屏幕上没有输出,键入 “dir”按回车键后可在目录中看到生成了一个同名字的.class 文件“Hello. class”。否则,将显示出错信息。(五)运行Java 程序使用Java 解释器(java.exe)可将编译后的字节码文件Hello.class 解释为本地计算机代码。在命令提示符窗口或MSDOS 窗口键入解释器文件名和要解释的字节码文件名java Hello,按回车键即开始解释并可看到运行结果,如果看到如图1.19 所示结果,表明程序运行成功了(六)安装、使用Eclipse软件在Eclipse环境下编辑、编写、运行Java程序(七)浏览SDK 自带的Applet 应用小程序。在下载的j2sdk1.4.2_01demoappletsClock 文件夹中用浏览器打开网页文件example1.html,就可以看到一个嵌入到Web 页面的Applet 开始运行,一个模拟时钟出现在网页上实验 2 Java 基本语法练习 一、实验目的 1 了解 Java 的数据类型 2 掌握各种变量的声明方式。 3 理解运算符的优先级。 4 掌握 Java 基本数据类型、运算符与表达式。 5 理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 6 通过以上内容,掌握 Java 语言的编程规则。 二、实验要求 1. 编写一个声明 Java 不同数据类型变量的程序。 2. 编写一个使用运算符、表达式、变量的程序。 3. 编写一个使用 Java 数组的的程序。 4. 编写表达式语句、复合语句的程序。 5. 编写使用不同选择结构的程序。 6. 编写使用不同循环结构结构的程序。 7. 其中实验(二)、(三)、(五)、(六)为必做题目,其它可以选作。 8. 根据每个实验后的要求将结果写入实验报告中。.三、实验内容 (一) 声明不同数据类型的变量 1编写声明不同数据类型变量的程序文件 KY2_1.java,源代码如下。 2 编译并运行该程序(二) 了解变量的使用范围 1建立 KY2_2.java 文件,通过本程序了解变量的使用范围,源代码如下。 2编译 KY2_2.java 此时会出现错误提示。因为变量 k 在方法块中声明,在方法块之外它是不存在的, 所以编译时会出错。 3修改上面的程序。 4成功运行该程序。 思考:KY2_2.java 程序说明了什么问题? (三) 使用表达式语句与复合语句 1 建立包含复合语句程序,源代码如下。 2 编译并运行上述两个源程序 3 将变量 i 在块内定义会怎样?改变其他变量的位置看看会发生什么变化。 思考:指出程序的复合结构以及变量的使用范围。 (四) 使用选择语句 程序功能:在不同温度时显示不同的解释说明。 程序源代码如下。 编译运行程序(五) 使用循环语句 程序功能:运行程序后从键盘输入数字 1/2/3 后,可显示抽奖得到的奖品;如果输入其它数字或字符显示“没有奖品给你!”。 程序源代码如下。 编译源程序。 在命令提示符窗口运行程序,然后分别按 1、2、3、r ,记录结果。(六) 综合性练习猜数字游戏1. 编写一个java应用程序,实现如下功能:l 随机分配给客户一个1100之间的整数。l 用户从键盘输入自己的猜测。l 程序返回提示信息,提示信息分别是“猜大了”、“猜小了”和“猜对了”。l 用户可以根据提示信息再次输入猜测,直到提示信息是“猜对了”。2. 程序模板 按照模板要求,将【代码1】【代码4】替换为java代码3.实验指导我们经常使用while循环来“强迫”程序重复执行一段代码,【代码2】必须是值为boolean类型数据的表达式。【代码2】的值为true时,让用户继续输入猜测;值为false时,表示用户已经猜对了,就让用户停止输入猜测。4.将添入的代码和结果写入实验报告。实验 3 面向对象编程练习 一、实验目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及 如何创建类和对象,了解成员变量和成员方法的特性,掌握 OOP 方式进行程序设计的方法,了解类的继承性、多态性和接口的作用,了解包的使用。 二、实验要求 编写一个体现面向对象思想的程序。 编写一个创建对象和使用对象的方法的程序。编写一个显示当前日期和时间的程序。 编写不同成员变量修饰方法的程序。 编写不同成员方法修饰方法的程序。 编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。 编写体现类的多态性(成员方法重载、构造方法重载)的程序。编写类的接口的程序编写包的使用的程序三、实验内容 (一)了解类的声明1. 知识储备:(1)类的定义格式分为两部分:类声明和类主体。其格式为: (2)类的声明格式:修饰符 class extends implements (3)类主体包括成员变量和成员方法。格式为: (4)成员变量声明格式: (5)成员方法声明格式: () 方法体 (6)修饰符包括: 访问限制修饰符(public protected 默认修饰符private) 静态修饰符(static) final abstract 。2. 声明一个日期类Date1(只进行类的声明,不要求运行)。 (1)要求:成员变量为年、月、日,成员方法的功能是输出年、月、日。(2 ) 程序源代码如下:public class Date1 int year,month,day; /成员变量 public void today( ) /成员方法 System.out.println(“Date is”+year+”/”+month+”/”+day); 3. 根据以上知识,声明一个类VolcanRobot(火山机器人),火山机器人的属性有状态(status)、速度(speed)温度(temprature)、能量(power),火山机器人的行为(方法)是输出这些属性。4将编程结果书写实验报告。(二)了解类的使用1. 知识储备:类的使用,即创建对象和使用对象。 (1)创建对象格式:类名 对象名=new 类名(参数列表); (2)使用对象格式:使用变量对象名.变量名 使用方法对象名.方法名2. 创建一个 Application应用程序 Li5_02.java 文件。 (1)程序功能:建立一个应用程序,根据半径的值,求出圆的面积。(2)要求:只定义一个类,圆的面积由类中的一个方法给出。(3)程序源代码如下。 3将Li5_02.java 源程序编译为Li5_02.class 文件。 4. 改变半径的值,如r=3 ,r=6 时,结果为多少?5. 根据以上知识及举例,编写一个求得圆的面积的程序,要求,用两个类实现程序,即将求得圆的面积的方法放入一个新的类中,并要求成功运行。6. 将编程结果书写实验报告。(三)强化类的声明和类的使用 (下列题目任选一个完成)1编写程序,实现如图所示的结果。 2. 编写程序,打印输出一个汽车的车牌号。3. 将编程结果书写实验报告。思考:程序的结构。类与对象的关系。对象创建、使用、销毁的过程。(四)访问权限1. 知识储备 (1)访问权限如下表所示 (2)类的访问权限只有public 和默认两种 (3)类成员的访问变量有上图中的四种2. 编写程序Date2_ex.java(1)程序功能:该程序通过设置一个日期,来达到输出日期和判断日期是否为闰年的功能 。(2)Date2_ex.java 程序源代码如下。3将Date2_ex.java 源程序编译为Date2_ex.class 文件。 4. 记录显示结果,写入实验报告。 5. 在上面的例子中,变量year month day 均使用了默认修饰符,因此这三个变量允许同一个包中的其他类来访问。请同学们将上述程序进行修改,将变量改为私有变量,程序应作怎样的改动?并说明原因。6. 完成程序并能成功显示,写入实验报告。(五)类成员和实例成员1. 知识储备:(1)static 可以用来修饰类的成员,有static修饰的成员称为类成员,没有它修饰的成员称为实例成员。(2)实例变量和类变量的差别: 实例变量: A.不同对象的同名实例变量占用不同的内存空间。B .通过对象名来访问实例变量 类 变 量: A. 同一类中的所有对象的类变量共享一个存储空间。 B. 可以使用类名引用类变量,也可以使用对象名引用类变量。 (3) 实例方法和类方法的区别: 实例方法: A. 实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作。B. 实例方法必须由实例对象调用。 类 方 法: A. 类方法只能对类变量操作 B. 类方法可以用类名调用,也可以用对象名调用。类方法不用将类实例化就可 以直接调用。如果类方法与调用它的程序处于同一个类中,则调用时类名也可以省略。 2. 输出程序结果(1)创建一个类Melon(瓜),其中成员变量total_weight和total_number声明为static。当创建一个Melon的对象(加入一个瓜), total_weight和total_number就增加一次,每调用一次类的reduce方法减掉一个瓜, total_weight和total_number就减去一次。(2)程序源码: (3) 运行结果,写入实验报告;如果将m1和m2对象的初值分别改为20和25,则结果又为多少?将结果写入实验报告。3.修改下列程序:(1)下列程序定义了两个类StaticDemo和KY3_4 ,说明类变量/方法与实例变量/方法的区别。源代码如下:;(2). 对上面的源程序进行编译,排错并运行。将运行结果和出错原因写在实验报告上。(六)类的继承性练习 1 知识储备(1)进一步理解继承的含义 新类可从现有的类中产生,并保留现有类的成员变量和方法并可根据需要对它们加以修改。新类还可添加新的变量和方法。这种现象就称为类的继承。 当建立一个新类时,不必写出全部成员变量和成员方法。只要简单地声明这个类是从一个已定义的类继承下来的,就可以引用被继承类的全部成员。被继承的类称为父类或超类(superclass),这个新类称为子类。Java 提供了一个庞大的类库让开发人员继承和使用。设计这些类是出于公用的目的,因此,很少有某个类恰恰满足你的需要。你必须设计自己的能处理实际问题的类,如果你设计的这个类仅仅实现了继承,则和父类毫无两样。所以,通常要对子类进行扩展,即添加新的属性和方法。这使得子类要比父类大,但更具特殊性,代表着一组更具体的对象。继承的意义就在于此。(2)变量隐藏和方法覆盖 变量隐藏:子类继承父类后,如果出现子类 的成员变量和父类的成员变量同名,那么子类 将把父类的成员变量隐藏起来。 方法覆盖:如果子类的方法名与父类的方法名相同(返回值的类型和入口参数的数目、类型 均相同),那么在子类中重新改写了父类的同名方法,即子类方法覆盖。(3)null 、this 和super运算符 null 表示类的空对象,即没有创建类的任何实例 this指代对象本身。 this引用的使用方法如下: 1. 访问本类的成员: this. this. 2. 调用本类的构造函数 this(参数列表) super有三种情况可以使用: (1) 用来访问父类中被隐藏的成员变量:super. (2) 用来访问父类中被覆盖的方法:super. (3) 用来调用父类中的构造方:super(参数表列)2程序:程序一:(1) 在本例中,创建了一个父类Person ,子类Student继承父类。(2)运行程序,记录结果。并思考:本例中,Student继承了父类的哪些变量?父类的变量子类可以全部继承么?如果不可以,子类不能继承父类的哪种变量?程序二:(1)程序源代码如下:(2)运行程序,记录结果。并思考:本例中,Student继承了父类的哪些方法?父类的变量子类可以全部继承么?如果不可以,子类不能继承父类的哪些方法?程序三:super和this的使用(1)程序源代码如下: (2)运行程序,记录结果。对程序进行分析,并回答问题:a. 程序中标注1的this指代的是那个对象?b. 标注2的p指代哪个对象,该对象从何而来?c. 标注3和标注4两个语句代表有什么含义? 3. 提交实验报告(七)类的多态性练习1 知识储备:(1) 什么是多态性:多态性是指同一个名字的若干个方法,有不同的实现(即方法体中的代码不一样)。(2) 多态性体现在方法的重载和方法的覆盖。 方法重载:在一个类中,定义多个名称相同,但参数个数或参数类型不同的方法,java根据参数的个数或参数类型,调用相对应的方法。 方法覆盖:是指在子类中,定义名称、参数个数与类型均与父类相同的方法,以重写父类中的方法的功能。 2. 编辑下列程序。 3. 输出运行结果。并回答下列问题:(1)这个程序运用了哪种多态,是方法的重载还是覆盖?(2)12、13、14条语句中参数传递过来的是整型,而相应的2、4、6行给出的形式参数类型是单精度浮点型,形参和实参不匹配,会不会影响程序的运行?为什么?(八)类的接口1. 知识储备:(1) 为什么要用到接口:在java中,一个类只能有一个父类(单重继承)。这样的程序结构简单,层次清楚。但实际中往往需要多重继承因此,java提供了接口用于实现多重继承,一个类可以有一个父类和多个接口。(2) 接口和类的区别: 类有变量和方法。 接口只有常量和抽象方法。即, 接口中的变量必须初始化, 接口中的所有方法必须声明为abstract方法,且没有方法体。(3) 接口的声明格式:接口修饰符 interface接口名extends父类接口列表 /接口体(4) 接口对其成员变量和成员方法的限制: 变量默认都是public、static、final修饰的 方法默认都是public、abstract修饰的。 接口中只能包含public、static、final修饰的变量和public、abstract修饰的方法。(5) 接口的实现: 在类声明中用implements子句表示一个类用于实现某个接口。一个类可以同时实现多个接口,接口之间用逗号“,”分隔开。 类中可以使用接口中定义的常量。 类的类体中必须加入要实现接口的方法。 在实现一个接口时,类中对方法的定义必须要和接口中的相应方法的定义匹配。 2. 根据以上知识,判断以下两个接口声明中的语句是否正确,指出错误之处。 (1) (2)3. 编辑下列程序,输出运行结果。4. 上交实验报告。 (九)包 1. 知识储备: (1)关于包的理解:包是类和接口的集合。利用包可以把常用的类或功能相似的类放在一个包中。Java 语言提供系统 包,其中包含了大量的类,可以在编写 Java 程序时直接引用它们。为便于管理和使用它们,将这些类 分为了不同的包。包又称类库或 API 包,所谓 API(Application Program Interface)即应用程序接口。API 包方面提供丰富的类与方法供大家使用,如画图形、播放声音等,另一方面又负责和系统 软硬件打交道,圆满实现用户程序的功能。所有 Java API 包都以“java.”开头,以区别用户创建的包。 (2)自定义包的声明方式 声明包语句必须添加在源程序的第一行,表示该程序文件声明的全部类都属于这个包。 (3)使用包中的类要应用import语句进行引入。 2. 包的使用。(1)下列程序中,类Cout与类MethodTest处于一个文件中,因此,两个类处于同一个包中,一个类引用另一个类的时候,不用进行import语句引包。(2)如果这两个类不在同一个包中,引用时需要使用import语句进行引入。第一步:在某个盘符下建立一个子文件夹Mypackage,如E:java Mypackage,在Mypackage文件夹中建立Cout类,在java文件夹下建立MethodTest类。第二步:对两个程序进行相应的修改。第三步:编译程序,运行结果。 在dos界面下 javac 在Jcreator工具下,点击编译和运行。 实验4 图形用户界面 一、实验目的 了解 Java小应用程序的编写、工作机理;了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用 Java 的事件处理机制。 二、实验要求 1. 掌握小应用程序的编写2. 掌握在 Applet 容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。 3. 理解 Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。三、实验内容(一)小应用程序 1. 知识储备 (1)编辑步骤:java applet程序的运行是依靠Web浏览器来实现的,所以其编辑分为两部分。 与java application程序相同,即使用一个编辑软件对java applet 程序进行编辑。 编写一个html文件。 (2)运行步骤: 编辑applet小应用程序源文件 点击html网页或者在dos界面下输入appletviewer 文件名.html (3)小应用程序书写格式: import java.applet.*; public class extends Applet . (4)在html中传递applet程序的参数步骤:1.使用标记的属性来实现2.applet程序中使用getParameter()方法得到这些参数。 2. 对以上两个程序进行编写,并运行结果。3.提交实验报告(二)图形用户界面图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。通过容器的add 方法把组件加入到容器中。(三)了解事件处理机制1. 知识储备:(1)在图形用户界面中,程序和用户的交互是通过组件响应各种事件来实现的。例如,用户单击了一个按钮,意味着发生了按钮的单击事件;选中下拉框中的一个选项,意味着发生了一个选项事件。在Java 中能产生事件的组件叫做事件源,如按钮。如果希望对单击按钮事件进行处理,可给事件源(按钮)注册一个事件监听器(如包含按钮的容器),如同签订了一个委托合同,当事件源发生事件时,事件监听器就代替事件源对发生的事件进行处理,这就是所谓的委托事件处理机制。 (2)事件处理机制编程方法: 引包:import java.awt.event.*; import java.awt.*; import java.applet.Applet; 编写类,声明所需要的监听器对应的接口。对于某种类型的事件xxEvent,想要接受并处理这类事件,必须定义相应的事件监听器类,该类实现与该事件相对应的接口xxListener。 修饰符 class 继承 implements xxListener 为组件(事件源)登记接口,设置事件监听器: 事件源.add xx Listener(监听器对象)。 在类中编程实现接口中声明的事件处理方法。1. 猜数字游戏,将运行结果写入实验报告2. 编写一个程序,实现下列计算器功能3. 完成程序,书写实验报告。实验5 线程一、实验目的 1 线程的概念、线程的生命周期。2 多线程的编程:继承Thread类与使用Runnable接口。二、实验要求 掌握利用JAVA语言编写多线程程序的方法掌握线程的调度方法掌握多线程环境中GUI程序的编写方法三、实验内容 (一)继承Thread类的方法实现多线程 1. 知识储备: (1)继承Thread类的步骤: 继承java.lang.Thread的类; 用希望的执行代码来覆盖run()方法; 通过new关键字实例化该类的一个新对象(即一个线程); 通过调用start()方法启动线程。2. 编写Machine1.java 程序文件,源代码如下。3. 编译、运行4. 记录运行结果。5. 若源代码中注释(1)和(2)部分分别取消注释,相应的代码该输出什么样的结果?(二)实现Runnable接口的方法实现多线程1 知识储备: 实现Runnable接口的方法: (1)定义一个Runnable接口的实现类,其内必须实现Runnable接口的run( )方法。public class yourThread implements Runnable public void run(). /需要以线程方式运行的代码 (2)生成实现类的对象传递给线程类 yourThread a = new yourThread(); Thread tt = new Thread( ) ; (3)启动线程 tt.start();2 用两个线程来玩猜数字游戏,第一个线程负责随即给出1100之间的一个整数,第二个线程负责猜出这个数,每当第二个线程给出自己的猜测后,第一个线程都会提示“猜小了”、“猜大了”或者“答对了”。public class Example9_6 public static void main(String args) Number number=new Number(); number.giveNumberThread.start(); number.guessNumberThread.start(); class Number implements Runnable int realNumber,guessNumber,min=0,max=100,message; final int SMALLER=-1,LARGER=1,SUCCESS=8; Thread giveNumberThread,guessNumberThread; Number() giveNumberThread=new Thread(this); guessNumb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 饮料合作加盟合同范本
- 公司聘用文秘合同范本
- 隔热夹芯板采购合同范本
- 公司代签合同范本
- 香港公司股权合同范本
- 基地鱼塘租售合同范本
- 新款合同范本模板
- 衣物袋采购合同范本
- 仓库旧料回收合同范本
- 车辆安全协议合同范本
- 2022年江苏省春季高考数学试卷
- XXX加油站风险分级管控台账
- 甘12J8 屋面标准图集
- 购买设备合同
- GB/T 28288-2012足部防护足趾保护包头和防刺穿垫
- GB/T 19666-2019阻燃和耐火电线电缆或光缆通则
- GA/T 1241-2015法庭科学四甲基联苯胺显现血手印技术规范
- 小学和初中科学教学衔接
- 《循证医学》治疗性研究证据的评价和应用
- “李可中医药学术流派论治厥阴病”-课件
- 通用技术作品设计报告
评论
0/150
提交评论