收藏 分销(赏)

全国二级Java考试中的几个难点.ppt

上传人:精*** 文档编号:2272538 上传时间:2024-05-24 格式:PPT 页数:51 大小:393.50KB
下载 相关 举报
全国二级Java考试中的几个难点.ppt_第1页
第1页 / 共51页
全国二级Java考试中的几个难点.ppt_第2页
第2页 / 共51页
全国二级Java考试中的几个难点.ppt_第3页
第3页 / 共51页
全国二级Java考试中的几个难点.ppt_第4页
第4页 / 共51页
全国二级Java考试中的几个难点.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、 淮海工学院淮海工学院 计算机课程全国二级全国二级Java考试中的几个难点考试中的几个难点1.输入输出流和文件处理输入输出流和文件处理2.Java的多线程机制的多线程机制3.3.AppletApplet类与类与AppletApplet小程序小程序4.Java的异常处理的异常处理刻咕揩掺盅瘦重果丘邱泄移泛企骸裕靠玻帽隙被媚砸俯咖演膳篆丘传票塞全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程1输入输出流和文件处理输入输出流和文件处理1.1流的概念流的概念流流是指在计算机的输入与输出之间是指在计算机的输入与输出之间运动的数据的运动的数据的序列序列。输

2、入流代表从外设流入计算机的数据序列,。输入流代表从外设流入计算机的数据序列,输出流代表从计算机流向外设的数据序列。输出流代表从计算机流向外设的数据序列。流的最大特点是:流的最大特点是:数据的获取和发送均按数据序数据的获取和发送均按数据序列顺序进行列顺序进行。Java中的流分为两种(被抽象为四个类):中的流分为两种(被抽象为四个类):字节流字节流:InputStream类和类和OutputStream类类字符流字符流:Reader类和类和Writer类类字符流比字节流更有效。字符流比字节流更有效。擒管糯闷擦幸蜗罗蔡么逗俊谨凛侧蜀恃匣回票鞘羌仆惊刻勃饲峡狗悔物脚全国二级Java考试中的几个难点全国

3、二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程1.字字节流流从抽象类从抽象类InputStream和和OutputStream派生出来的派生出来的一系列类,这类流以字节一系列类,这类流以字节(byte)为基本处理单位。为基本处理单位。字节流类字节流类功能功能FileOutputStream写入文件的输出流写入文件的输出流FileInputStream从文件读入的输入流从文件读入的输入流DataOutputStream包含了写包含了写Java标准数据类型的输出流标准数据类型的输出流DataInputStream包含了读取包含了读取Java标准数据类型的输入流标准数据类型的输入流B

4、ufferOutputStream缓冲输出流缓冲输出流ByteArrayInputStream从字节数组读取的输入流从字节数组读取的输入流ByteArrayOutputStream写入字节数组的输出流写入字节数组的输出流PrintStream包含最常见的包含最常见的Print()()和和Println()()的输出流的输出流他腋滩咎泳儒霜榴评贺日饭趟饱机犁吵荣全坎迟该惜僧鲜采晴维腺鸥犊儿全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程基本输入流类基本输入流类InputStream的常用方法的常用方法从流中读取数据:从流中读取数据:intread

5、();/读取一个字节,返回值为所读的字节读取一个字节,返回值为所读的字节intread(byteb);读取多个字节,放置到字节数组读取多个字节,放置到字节数组b中,通常读取的字节中,通常读取的字节数量为数量为b的长度,返回值为实际读取的字节的数量的长度,返回值为实际读取的字节的数量intread(byteb,intoff,intlen);读取读取len个字节,放置到以下标个字节,放置到以下标off开始字节数组开始字节数组b中,中,返回值为实际读取的字节的数量返回值为实际读取的字节的数量intavailable();/返回值为流中尚未读取的字节的数返回值为流中尚未读取的字节的数量量longski

6、p(longn);/读指针跳过读指针跳过n个字节不读,返回值个字节不读,返回值为实际跳过的字节数量为实际跳过的字节数量关闭流关闭流:close();/流操作完毕后必须关闭流操作完毕后必须关闭则晌灭顾乍蘑卷逻恤厚札防料小钱遍凉馒蜡戍焚眯鸿嘻凋凉簿兵私猖胺译全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程基本输出流类基本输出流类OutputStream的常用方法的常用方法输出数据:输出数据:voidwrite(intb);/往流中写一个字节往流中写一个字节bvoidwrite(byteb);/往流中写一个字节数组往流中写一个字节数组bvoidwri

7、te(byteb,intoff,intlen);把字节数组把字节数组b中从下标中从下标off开始、长度为开始、长度为len的字节写入流中的字节写入流中flush()/刷空输出流,并输出所有被缓存的字节刷空输出流,并输出所有被缓存的字节由于某些流支持缓存功能,该方法将把缓存中所有由于某些流支持缓存功能,该方法将把缓存中所有内容强制输出到流中。内容强制输出到流中。关闭流关闭流:close();/流操作完毕后必须关闭流操作完毕后必须关闭卞签居惯咕式绵赤恬毅涕太敢宫侈怔外乱夺荣砷辨舒痢概话景澈巴绎滑浦全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程2字

8、符流字符流从抽象类从抽象类Reader和和Writer派生出的一系列子类,这派生出的一系列子类,这类流以类流以16位的位的Unicode码码表示的字符(一个字符由表示的字符(一个字符由两个字节组成)为基本处理单位。两个字节组成)为基本处理单位。常用字符流子类和功能常用字符流子类和功能InputStreamReader将字节转换为字符的输入流将字节转换为字符的输入流OutputStreamWriter将字节转换为字符的输出流将字节转换为字符的输出流FileReader从文件读入的输入流从文件读入的输入流FileWriter写入文件的输出流写入文件的输出流CharArrayReader从字符数组读

9、取的输入流从字符数组读取的输入流CharArrayWriter写入字符数组的输出流写入字符数组的输出流StringReader从字符数串读取的输入流从字符数串读取的输入流StringWriter写入字符串的输出流写入字符串的输出流库请刚膜购躇忘廖扯糟胯侵瘸拟嘘谎柑禁遁限臃冤钞钮蹦艇格奋础罚察竿全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程1.2基本流基本流1.键盘输入和格式化输出键盘输入和格式化输出Java有有3个内置的标准流对象:个内置的标准流对象:1)标准输入流标准输入流System.in:用来读取用户从键盘的输入用来读取用户从键盘的输入

10、2)标准输出流标准输出流System.out:用来在屏幕上显示信息用来在屏幕上显示信息3)标准输出流标准输出流System.err:用来显示出错信息用来显示出错信息(1)键盘输入:)键盘输入:使用使用System.in对象的对象的read()方法()方法例:例:charc=(char)System.in.read();使用使用InputStreamReader、BufferReader流类流类例:例:InputStreamReaderisr=newInputStreamReader(System.in);BufferReaderbr=newBufferReader(isr);种突认际练挟严锰仕

11、适倍涣轰爷麻迁八囱栏烙布赛饱馅腻举甸伶浩蚌砂纵全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程(2)格式化输出)格式化输出用用Java的标准输出的标准输出System.out,可以输出不同类,可以输出不同类型的对象:型的对象:例:例:Inta=20;System.out.print(a)System.out.println(“大家好大家好”)/加换行加换行用用java.text包中的包中的NumberFormat类可以控制显类可以控制显示格式示格式,有三种方法:,有三种方法:NumberFormat.getNumberInstance()/附加

12、逗号附加逗号NumberFormat.getCurrencyInstance()/货币符号货币符号NumberFormat.getPercentInstance()/百分号百分号涉雌军睬杯挎瓤嫉辗慑俐崭澳耿寡郁贱郊张乖塌啤库碟畴制殴恨序傀亭费全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程1.3文件类文件类1.Java程序的文件与目录管理程序的文件与目录管理Java.io包中的包中的File类类专门用来管理磁盘文件和目专门用来管理磁盘文件和目录。每个录。每个File类的对象表示一个磁盘文件或目录,类的对象表示一个磁盘文件或目录,对象属性中包含名

13、称、长度、所含文件个数等信对象属性中包含名称、长度、所含文件个数等信息。息。(1)创建)创建File类对象的三种方法:类对象的三种方法:File(Stringpath);指明磁盘文件或目录名及其路径指明磁盘文件或目录名及其路径注意:目录分隔符用注意:目录分隔符用System.dirSep表示表示如:如:Filef1=newFile(“c:”+System.dirSep+”sj”)File(Stringpath,Stringname);文件或目录的路径文件或目录的路径文件或目录名文件或目录名剐赁住挥专蔡励揖辜帐畔茎肃莽案休桅误和吱纳浪疙跪哀褪存宙赌捉拇沛全国二级Java考试中的几个难点全国二级J

14、ava考试中的几个难点 淮海工学院淮海工学院 计算机课程File(Filedir,Stringname);(2)获取文件或目录属性)获取文件或目录属性已经存在的磁盘目录已经存在的磁盘目录booleanexists()若文件或目录存在则返回若文件或目录存在则返回truebooleanisFile()若对象代表有效文件则返回若对象代表有效文件则返回truebooleanisDirectory()若对象代表有效目录则返回若对象代表有效目录则返回trueStringgetName()返回文件名或目录名返回文件名或目录名StringgetPath()返回文件或目录的路径返回文件或目录的路径longlen

15、gth()返回文件的字节数返回文件的字节数booleancanRead()若文件为可读文件则返回若文件为可读文件则返回truebooleancanWrite()若文件为可写文件则返回若文件为可写文件则返回truebooleanequals(Filef)若两个文件对象相同则返回若两个文件对象相同则返回trueStringlist()将目录中所有文件名存在数组中返回将目录中所有文件名存在数组中返回呵嗣洱遍金垣初羊鳞铲哪扭常汪能平赃峨瘩刷包彻旭矢弄音蒂辊愚划函恒全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程(3)文件或目录的操作)文件或目录的操作注

16、意:注意:由于由于JavaApplet程序是从网络上下载到本程序是从网络上下载到本地机器运行的,不可知也不可控,所以地机器运行的,不可知也不可控,所以Java的的安全机制禁止安全机制禁止JavaApplet程序访问和存取本地程序访问和存取本地文件,如果试图在文件,如果试图在JavaApplet程序中使用文件程序中使用文件操作,则将引发操作,则将引发Java的安全性异常。的安全性异常。Boolean renameTo(File newFile)将文件重命名Void delete()将当前文件删除Boolean mkdir()创建当前目录的子目录悔溉挺拓咋砸缓阜就酒梧督梁酝钦悟膛撞筛耐净蜘算荣坤详

17、向召脉咨岛懊全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程2.写文本文件写文本文件方法一方法一:用:用FileOutputStream打开文件打开文件my.txt,然后,然后用用PrintStream对象对象p的的println方法把字符串写入方法把字符串写入文件中。文件中。例:例:FileOutputStreamfout=newFileOutputStream(“my.txt”)PrintStreamp=newPrintStream(fout);p.println(“要写入文本文件中的内容要写入文本文件中的内容”);p.close();讥恤

18、唬乾煮蓖台蠕示庇消诧聊玩骇建回宪渔计罗痒烟幽缓蓄固抢坐瘤获音全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程方法二方法二:用用FileWriter打开文件打开文件myf.txt,又创建了,又创建了文本输出流文本输出流out,然后用,然后用out的的print(或者(或者println)方法把字符串写入文件方法把字符串写入文件中。中。例:例:FileWriterfw=newFileWriter(“myf.txt”);PrintWriterout=newPrintWriter(fw);out.print(“要写入文本文件中的内容要写入文本文件中的内

19、容”);out.close();/关于输出关于输出fw.close();/关闭文件关闭文件披番积痒综超弹褒妹慢貉翌八术黄促销框洪臣馏阎咎割咨流荔龋茨达谨少全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程3.读文本文件读文本文件方法一方法一:用:用FileInputStream打开文件打开文件my.txt,然后建,然后建立立DataInputStream的的对象对象in(文件流),使用(文件流),使用in的的readLine()方法以一行为单位读出()方法以一行为单位读出my.txt文件文件中的所有字符串。中的所有字符串。例:例:FileInpu

20、tStreamfs=newFileInputStream(“my.txt”)DataInputStreamin=newDataInputStream(fs);while(in.available()!=0)System.out.println(in.readLine();in.close();/关闭输入流关闭输入流畔讲苇蹄函排嘶猎侯燥植拂铰熙使盅憾斌耽拆武筛蕉筋照切半陕磺胰快并全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程方法二方法二:用:用FileReader打开文件打开文件myf.txt,然后用,然后用BufferedReader类的对象

21、类的对象br作为文件流,用作为文件流,用br的的readline()读取文件中的字符串。()读取文件中的字符串。例:例:FileReaderfr=newFileReader(“myf.txt”);BufferedReaderbr=newBufferedReader(fr);Stringrecord=newString();IntrecCount=0;While(record=br.readLine()!=null)recCount+;System.out.println(recCount+”:”+record);br.close();/关于缓存关于缓存fr.close();/关闭文件关闭文件罚

22、邓褐蓝唯掣批仟谤蜘侍奶揉卿盾满受步呆坡德枉棠辛戌朗邀藉倪易走伯全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程4.程序对文件的随机访问程序对文件的随机访问用用RandomAccessFile类可以实现对文件的随机读写类可以实现对文件的随机读写操作,即可以在文件的任意位置执行数据读写;操作,即可以在文件的任意位置执行数据读写;创建创建RandomAccessFile的对象的对象例例:File mf=new File(“myf.txt”);RandomAccessFile myRAF=new RandomAccessFile(mf,”rw”);访问

23、模式:访问模式:rw:可读、可写可读、可写r:只读只读作为数据作为数据源的文件源的文件拳泅踊赚沮挚拓味叶忧福淬焕仙炳旧回甲霄掠位驳阿左攒惕修载绑日谜衬全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程对文件进行读写操作对文件进行读写操作RandomAccessFile类实现了类实现了DataInput和和DataOutput接口,在读接口,在读/写时具备强大的含类型写时具备强大的含类型转换的输入转换的输入/输出功能;输出功能;RandomAccessFile类的所有方法都有可能抛出类的所有方法都有可能抛出IOException异常,在利用它实现文

24、件操作时需异常,在利用它实现文件操作时需要将相关语句放在要将相关语句放在try块中,并配上块中,并配上catch块来处块来处理异常。理异常。寡碑槐聋温戍瞩毯津牌黑溶输砌货背封治嘴慑疯咨作色防港扁窜云抡妊黍全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程2Java的多线程机制的多线程机制2.1Java中的线程中的线程1.程序、进程与线程的区别程序、进程与线程的区别线程是比进程更小的执行单位,线程是比进程更小的执行单位,一个进程在执行过程中可以一个进程在执行过程中可以产生多个线程,每个线程有自己的产生、存在、消亡的过程。产生多个线程,每个线程有自己

25、的产生、存在、消亡的过程。线程间可以共享相同的内存单元线程间可以共享相同的内存单元,实现数据交换、实时通信,实现数据交换、实时通信和同步操作。和同步操作。进程是程序的一次动态执行过程进程是程序的一次动态执行过程(放电影),(放电影),对应着代码加载、对应着代码加载、执行到执行完毕的全过程。每一个进程都有自己独立的一块内执行到执行完毕的全过程。每一个进程都有自己独立的一块内存空间、一组系统资源。在进程概念中,每一个进程的内部数存空间、一组系统资源。在进程概念中,每一个进程的内部数据和状态都是完全独立的。据和状态都是完全独立的。程序是一段静态的代码,程序是一段静态的代码,是应用软件执行的蓝本是应用

26、软件执行的蓝本(电影胶片)(电影胶片)。继喂盏晃闺秆砂赦乘旺巳断橇亲卡脆超涤改符辨糠秘版伍冒箱肤缓守射疮全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程Java的多线程的多线程Java内在支持多线程,内在支持多线程,它的所有类都是在多线程下它的所有类都是在多线程下定义的,定义的,Java利用多线程可以开发能同时处理多个利用多线程可以开发能同时处理多个任务的功能强大的应用程序。任务的功能强大的应用程序。Java程序通过程序通过流控制流控制来执行来执行程序流程序流,程序中单个顺程序中单个顺序的流控制称为线程序的流控制称为线程,多线程则指的是在单个程

27、序多线程则指的是在单个程序中可以同时运行多个不同的线程,执行不同的任务中可以同时运行多个不同的线程,执行不同的任务。多线程意味着一个程序的多行语句可以看上去几乎多线程意味着一个程序的多行语句可以看上去几乎在同一时间内同时运行。在同一时间内同时运行。艘列豹勉宏赠摈啊金汹腮幽崭郭特伎煞弃缎踢婚浴懈夷哼弘酉歧丧脐以总全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程使用多线程的好处:使用多线程的好处:使使UI交互的响应更块交互的响应更块充分利用多处理器系统充分利用多处理器系统简化建模简化建模执行异步和后台处理执行异步和后台处理Java中的线程由三部分组

28、成中的线程由三部分组成:1.虚拟的虚拟的CPU,封装在,封装在java.lang.Thread类中类中2.CPU所执行的代码所执行的代码,传递给,传递给Thread类类3.CPU所处理的数据所处理的数据,传递给,传递给Thread类类伦浑茎扬弹斤濒漆框衰揭廉遂极狰绣畏贫支暗腥淑朵嚏皿傀寅进动凑湾哟全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程Java中的线程多任务示意图中的线程多任务示意图操作系统 共享内存局部变量Java虚拟机应用程序2应用程序1线程1线程2线程3局部变量局部变量劫察嚼涂姨棍亦作持搔彭翌咱踌炙茅乃勒述喇掸灯唐餐董掳答恃投鱼葫

29、酒全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程2.2线程的状态与生命周期线程的状态与生命周期新建新建其他阻塞其他阻塞终止终止运行运行等待阻塞等待阻塞对象锁阻塞对象锁阻塞可运行可运行start()sleep()时间到获得锁wait()scheduler()yield()sleep()或join()run()方法结束synchronizednotify()notifyAll()Interrupt()篆咳荷疾滴酝怂葱期深捉纵萧猩便哟替雷败稿鸦佰粘鸦的缔加肋朵赡闰渡全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学

30、院 计算机课程(1)创建状态)创建状态(newThread)执行下列语句时,线程就处于创建状态:执行下列语句时,线程就处于创建状态:ThreadmyThread=newThread();当一个线程处于创建状态时,它仅仅是一当一个线程处于创建状态时,它仅仅是一个空的线程对象,系统不为它分配资源。个空的线程对象,系统不为它分配资源。氢矽币镍丽走宦拓庇驾贫员肩阑钻贷地岸瘤官哟浩配快证建蒲颐献然吹兆全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程(2)可运行状态可运行状态(Runnable)ThreadmyThread=newThread();myTh

31、read.start();当一个线程处于可运行状态时,系统为这个线程分当一个线程处于可运行状态时,系统为这个线程分配了它需的系统资源,这样该线程处于运行就绪状配了它需的系统资源,这样该线程处于运行就绪状态,系统中可以同时有多个线程处于态,系统中可以同时有多个线程处于Runnable状态。状态。(3)运行状态(运行状态(Running)是线程占有是线程占有CPU并实际运行的状态。并实际运行的状态。希柒窖懂烩温孜哨沮贱盲扣娃琉畸眠亨妊掂滤映向脱炕铡韵札崇生粥簿芽全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程(4)阻塞状态(阻塞状态(Blocked

32、)阻塞状态也称为不可运行状态。因为某种原因(输入阻塞状态也称为不可运行状态。因为某种原因(输入/输输出、等待消息或其它阻塞情况),系统不能执行线程的状出、等待消息或其它阻塞情况),系统不能执行线程的状态。这时即使处理器空闲,也不能执行该线程。态。这时即使处理器空闲,也不能执行该线程。进入不可运行状态的原因有如下几条:进入不可运行状态的原因有如下几条:1)调用了调用了sleep()方法,休眠时间到即进入可运行状()方法,休眠时间到即进入可运行状态态;2)调用了调用了t.join()方法()方法,当当t线程结束或等待时间线程结束或等待时间到即进入可运行状态;到即进入可运行状态;3)为等候一个条件变

33、量,线程调用为等候一个条件变量,线程调用wait()方法()方法;4)输入输出流中发生线程阻塞输入输出流中发生线程阻塞;藩尘垣骡雕步挂业喊蛹病渭邱硬屉恐酵瘦哩撅诺茎躁墨宠丽勒撼诫庭购桌全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程线程的终止一般可通过两种方法实现:线程的终止一般可通过两种方法实现:自然撤消自然撤消(线程执行完)(线程执行完)被停止被停止(调用(调用stop()方法)方法)目前不推荐通过调用目前不推荐通过调用stop()来终止线程的执行,来终止线程的执行,而是让线程执行完。而是让线程执行完。(5)死亡状态(死亡状态(Dead)使

34、用线程时要注意线程的同步,可以用使用线程时要注意线程的同步,可以用synchronized来修饰那些不能被中途打扰的方法。来修饰那些不能被中途打扰的方法。眯骤叶喜惜物射侩疥代就峨竿惠究裙埂魄宴厚椎戳猩栖励趟叮帧景颇窄烟全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程2.3如何在程序中实现多线程如何在程序中实现多线程1.创建用户自定义的一个线程子类创建用户自定义的一个线程子类 即即创建创建Thread类的子类类的子类,继承线程类继承线程类ThreadThread并重写其并重写其中的方法中的方法 run run(),(),Thread类综合了类综合

35、了Java程序中一个程序中一个线程需要拥有的属性和方法。线程需要拥有的属性和方法。由于由于JavaJava只支持单重继承,用这种方法定义的类不能再继承其只支持单重继承,用这种方法定义的类不能再继承其它父类。它父类。关键性操作步骤:关键性操作步骤:(1)定义用户线程的操作,)定义用户线程的操作,即定义用户线程的即定义用户线程的run()方法()方法(2)在适当时候建立用户线程实例。)在适当时候建立用户线程实例。挛容迭肿母之眷族赃股券吵敝策敷责擂涌仰檬汁征诧试冯鹿悠揖壳茸约枯全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程关于关于Thread类:类

36、:(1)构造函数构造函数publicThread():创建一个系统线程类的对象。:创建一个系统线程类的对象。publicThread(Runnabletarget):在上一个构造函数完在上一个构造函数完成的操作基础之上,利用参数对象成的操作基础之上,利用参数对象实现了实现了Runnable接接口的口的target对象中所定义的对象中所定义的run()方法,来初始化或覆盖新方法,来初始化或覆盖新创建的线程对象的创建的线程对象的run()方法。方法。publicThread(StringThreadName):在第一个构造函数在第一个构造函数工作的基础上,为所创建的线程对象指定一个字符串名称工作的

37、基础上,为所创建的线程对象指定一个字符串名称供以后使用。供以后使用。publicThread(Runnabletarget,StringThreadName):实实现现,两构造函数的功能。两构造函数的功能。江外赃闸缝峦覆党孕闷吝帧献杖荐倪图区代尚咽畅张炒呵嗜旋高蜂岳鸵毯全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程(2)线程优先级线程优先级Thread类有三个有关线程优先级的静态常量:类有三个有关线程优先级的静态常量:MIN-PRIORITY代表最小优先级,通常为代表最小优先级,通常为1;MAX-PRIORITY代表最高优先级,通常为代表最高

38、优先级,通常为10;NORM-PRIORITY代表普通优先级,缺省数值为代表普通优先级,缺省数值为5(3)Thread类的常用方法类的常用方法start()调用该方法启动线程调用该方法启动线程run()线程被调度后执行的动作线程被调度后执行的动作sleep(intmillsecond)让线程放弃让线程放弃CUP资源休眠一段时间资源休眠一段时间isAlive()判断线程是否处于存活状态判断线程是否处于存活状态currentThread()返回当前正在使用返回当前正在使用CUP资源的线程资源的线程interrupt()吵醒处于吵醒处于sleep状态的线程状态的线程混跳堑雏引讫邱城缅遏躬诣橱文布慰晚

39、协拾去笺祈炼尘上癣绢辈整亦落灾全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程2.在用户自己的类中实现在用户自己的类中实现RunnableRunnable接口接口 即实现即实现RunnableRunnable接口的用户类必须实现其唯一的接口的用户类必须实现其唯一的方法方法runrun()()。一个实现了。一个实现了RunnableRunnable接口的类实际接口的类实际上定义了一个主线程之外的新线程的操作上定义了一个主线程之外的新线程的操作。实现接口实现接口RunnableRunnable的类仍然可以继承其它父类。的类仍然可以继承其它父类。关键

40、性操作步骤:关键性操作步骤:定义定义run()方法的具体内容()方法的具体内容当用户程序需要建立新线程时,只要当用户程序需要建立新线程时,只要以这个以这个实现了实现了run()方法的()方法的类为参数创建系统类类为参数创建系统类thread的对象的对象,就,就可以把用户实现的可以把用户实现的run()方法继承过来。()方法继承过来。付洪柄涂椽朴扭金焉驼凌瞩羡枫践琴淆却挚衡我怨合甚伞眩桌此郝灼韦鞍全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程关于关于Runnable接口:接口:Runnable接口接口只有一个方法只有一个方法run(),所有实现

41、,所有实现Runnable接口的用户类都必须具体实现这个接口的用户类都必须具体实现这个run()方法,为它书写方法体并定义具体操作。方法,为它书写方法体并定义具体操作。Runnable接口中的这个接口中的这个run()方法是一个较特殊方法是一个较特殊的方法,它可以被运行系统自动识别和执行。当线的方法,它可以被运行系统自动识别和执行。当线程被调度并转入运行状态时,它所执行的就是程被调度并转入运行状态时,它所执行的就是run()方法中规定的操作。方法中规定的操作。狞椭连有钉削意苫谆尘痴仁爷遮金斟腻位围滦戳淫瞥侵蹄撂肘锄窘袒泛毒全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工

42、学院淮海工学院 计算机课程实现多线程的两种方法的比较:实现多线程的两种方法的比较:1.使用使用Runnable接口接口1)可以将可以将CPU、代码和数据分开,形成清晰、代码和数据分开,形成清晰的模型的模型;2)还可以从其他类继承还可以从其他类继承;3)保持程序风格的一致性。保持程序风格的一致性。2.直接继承直接继承Thread类类1)不能再从其他类继承不能再从其他类继承;2)编写简单,可以直接操纵线程,无需使用编写简单,可以直接操纵线程,无需使用Thread.currentThread()。厂垃章坯阎风肃愚颇盂劳雾熟账颈金氛盐贤嚷芬膳睦横捆碗吭咱钾庐括妻全国二级Java考试中的几个难点全国二级

43、Java考试中的几个难点 淮海工学院淮海工学院 计算机课程3 Applet3 Applet类与类与AppletApplet小程序小程序3.1 Applet3.1 Applet的基本工作原理的基本工作原理 Java AppletJava Applet是通过兼容是通过兼容JavaJava的的InternetInternet浏览器来解释执浏览器来解释执行的。行的。编译好的编译好的JavaJava字节码文件保存在特定的字节码文件保存在特定的WWWWWW服务器上,当服务器上,当浏览器遇到网页中嵌入的浏览器遇到网页中嵌入的标记时,就会根据该标记时,就会根据该AppletApplet的名字和位置自动把字节码

44、从服务器上下载到本地,的名字和位置自动把字节码从服务器上下载到本地,并利用浏览器本身拥有的并利用浏览器本身拥有的JavaJava解释器直接执行该字节码。解释器直接执行该字节码。由于有浏览器的支持,由于有浏览器的支持,AppletApplet不需要建立自己的主流程框不需要建立自己的主流程框架,也不需要有专门的图形界面。架,也不需要有专门的图形界面。AppletApplet需要做的是接收和需要做的是接收和响应浏览器发来的消息或事件。响应浏览器发来的消息或事件。估骗哑药我留涯豢鸥苯劣萝实烦拔摘铸侗维尧份瘪础削划潜备糕御泌高澈全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院

45、淮海工学院 计算机课程3.2Applet类类(1)Applet类简介类简介它是它是JavaJava类库中一个重要的系统类,存在于类库中一个重要的系统类,存在于java.appletjava.applet包中。包中。AppletApplet类是类是JavaJava的系统类的系统类java.Awt.Paneljava.Awt.Panel的子类的子类。Panel Panel属于一种容器,作用是:属于一种容器,作用是:包容和排列其他的界面元素,如按钮、对话框等包容和排列其他的界面元素,如按钮、对话框等 响应它所包容范围之内的事件,或把事件向更高层次传递。响应它所包容范围之内的事件,或把事件向更高层次传

46、递。Applet Applet在此基础上,还具有一些与浏览器和在此基础上,还具有一些与浏览器和AppletApplet生生命周期有关的专门方法。命周期有关的专门方法。抢择宫迫竣挫觅泡凉择予蹭纤活煞幸畦洪厨吮前悉灯泛里氟味款捍酬彦席全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程(2)Applet类的主要方法类的主要方法1 1)initinit()方法()方法 用来完成主类实例的初始化工作。如:创建和初始化程用来完成主类实例的初始化工作。如:创建和初始化程序运行所需要的对象实例,把图形或字体加载入内存,设置序运行所需要的对象实例,把图形或字体加载

47、入内存,设置各种参数,加载图形和声音并播放等。各种参数,加载图形和声音并播放等。2 2)startstart()方法()方法 用来启动浏览器运行用来启动浏览器运行AppletApplet的主线程。浏览器在调用的主线程。浏览器在调用initinit()方法初始化()方法初始化AppletApplet类的实例之后,接着会自动调用类的实例之后,接着会自动调用startstart()方法,除此之外,()方法,除此之外,startstart()方法在()方法在AppletApplet被重新启动被重新启动时也会被系统自动调用。时也会被系统自动调用。3 3)stopstop()方法()方法 类似于类似于st

48、artstart()方法的逆操作,当用户浏览其它页面,()方法的逆操作,当用户浏览其它页面,或切换到其他系统应用时,浏览器将自动调用或切换到其他系统应用时,浏览器将自动调用stopstop()方法()方法暂停执行暂停执行AppletApplet的主线程。的主线程。肛烘借葡棋轰祝桥海漓柴慰渴皿姻今扣延堤辙秽郡诌逊肉撵键沉养觉亨蛇全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程4 4)paintpaint()方法()方法 主要用来在主要用来在AppletApplet的界面中显示文字、图形和其他界面元的界面中显示文字、图形和其他界面元素,也是浏览器自

49、动调用的方法。导致浏览器调用素,也是浏览器自动调用的方法。导致浏览器调用paintpaint()()方法的事件主要有三种:方法的事件主要有三种:AppletApplet被启动后,自动调用被启动后,自动调用paintpaint()来重新描绘自己的界面;()来重新描绘自己的界面;Applet Applet所在的浏览器窗口改变时,要求自动调用所在的浏览器窗口改变时,要求自动调用paintpaint()()来重画界面;来重画界面;Applet Applet的其他方法被调用时,系统也会调用此方法的其他方法被调用时,系统也会调用此方法。paint paint()方法有一个固定的参数()方法有一个固定的参数

50、GraphicsGraphics类的对象类的对象g g。GraphicsGraphics类是用来完成一些较低级的图形用户界面操作的类,类是用来完成一些较低级的图形用户界面操作的类,其中包括画圆、点、线、多边形及显示简单文本。其中包括画圆、点、线、多边形及显示简单文本。壳铰袱闺抽排娩句歉函坑徘盼痰搐抠变收轿弊洛淘菱椰栖弧牢吼银袖舰衰全国二级Java考试中的几个难点全国二级Java考试中的几个难点 淮海工学院淮海工学院 计算机课程5)destroy()方法()方法当用户退出浏览器时,浏览器自动调用当用户退出浏览器时,浏览器自动调用Applet实例的实例的destroy()方法完成释放资源、关闭连接

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服