java考试资料

上传人:小** 文档编号:88101447 上传时间:2019-04-19 格式:DOCX 页数:38 大小:387.84KB
返回 下载 相关 举报
java考试资料_第1页
第1页 / 共38页
java考试资料_第2页
第2页 / 共38页
java考试资料_第3页
第3页 / 共38页
java考试资料_第4页
第4页 / 共38页
java考试资料_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《java考试资料》由会员分享,可在线阅读,更多相关《java考试资料(38页珍藏版)》请在金锄头文库上搜索。

1、匿名内部类是没有名字的内部类,不能实现其他类,但一个内部类可以作为一个接口,由另一个内部类实现Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)inte*ce(接口)?匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。介绍JAVA中的Collection FrameWork 浏览次数:672次悬赏分:20 | 解决时间:2010-6-29 16:33 | 提问者:wangnasha1 介绍JAVA中的Collection FrameWork62

2、5最佳答案 Collection List LinkedList ArrayList Vector Stack Set Map Hashtable HashMap WeakHashMap Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements) Map提供key到value的映射。介绍JAVA中的Collection FrameWork 浏览次数:672次悬赏分:20 | 解决时间:2010-6-29 16:33 | 提问者:wangnasha1 介绍JAVA中的Collection FrameWork625最佳答案

3、 Collection List LinkedList ArrayList Vector Stack Set Map Hashtable HashMap WeakHashMap Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements) Map提供key到value的映射。抽象类里面可以有非抽象方法但接口里只能有抽象方法 声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然

4、而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽像类的变体。在接口中,所有方法都是抽像的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽像的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在

5、实现了该接口的类的任何对像上调用接口的方法。由于有抽像类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。Java IO 全攻略分类:Java IO2009-02-05 14:11780人阅读评论(0)收藏举报本篇主要讲述IO相关的内容,主要包括:与IO相关的简单的历史背景知识;Java IO的简单分类;与IO设计相关的两个模式;同时列举几个简单的例子;分析其中几个实现的源代码;最后给大家一些简单扩展的例子。治学先治史,下面我们先从简单的历史开始吧!一、历史背景“对语言设计人员来

6、说,创建好的输入输出系统是一项特别困难的任务。”Think in Java无论是系统、还是语言的设计中IO的设计都是异常复杂的。面临的最大的挑战一般是如何覆盖所有可能的因素,我们不仅仅要考虑文件、控制台、网络、内存等不同的种类,而且要处理大量的不同的读取方式,如:顺序读取、随机读取,二进制读取、字符读取,按行读取、按字符读取Linux是第一个将设备抽象为文件的操作系统,在Linux中所有的外部设备都可以用读取文件的方法读取,这样编程人员就可以以操作文件的方法操作任何设备。C+在IO方面也做了一些改进引进了流的概念,我们可以通过cin、cout读写一些对象。Java语言在IO设计方面取得较大的成

7、功,它是完全面向对象的,主要采用装饰器模式避免大量的类,包括了最大的可能性,提供了较好的扩展机制“Java库的设计者通过创建大量类来攻克这个难题。事实上,Java的IO系统采用了如此多的类,以致刚开始会产生不知从何处入手的感觉(具有讽刺意味的是,Java的IO设计初衷实际要求避免过多的类)。”上面一段来自Think in Java,确实很多初学者刚刚学习java的IO时会比较茫然,不过等我们知道装饰器模式(Decorator)的用意、场景及其在Java的IO包中的使用,你可能会真正领会整个IO的FrameWork。二、IO的分类Java IO一般包含两个部分:1.java.io包中堵塞型IO;

8、2.java.nio包中的非堵塞型IO,通常称为New IO。学过操作系统的朋友都知道系统运行的瓶颈一般在于IO操作,一般打开某个IO通道需要大量的时间,同时端口中不一定就有足够的数据,这样read方法就一直等待读取此端口的内容,从而浪费大量的系统资源。有人也许会提出使用java的多线程技术啊!但是在当前进程中创建线程也是要花费一定的时间和系统资源的,因此不一定可取。Java New IO的非堵塞技术主要采用了Observer模式,就是有一个具体的观察者和监测IO端口,如果有数据进入就会立即通知相应的应用程序。这样我们就避免建立多个线程,同时也避免了read等待的时间。不过本篇主要讲述java

9、的堵塞型IO,就是我们通常应用的那个包。打开你的java.io包你可以看到Java的IO包含大量的类和接口(JDK1.6中包含83个类或者接口),如此众多的类和接口似乎无从下手。下面就将IO简单地分类。Java的IO主要包含三个部分:1.流式部分IO的主体部分;2.非流式部分主要包含一些辅助流式部分的类,如:File类、RandomAccessFile类和FileDescriptor等类;3.文件读取部分的与安全相关的类,如:SerializablePermission类。以及与本地操作系统相关的文件系统的类,如:FileSystem类和Win32FileSystem类和WinNTFileSy

10、stem类。流式部分可以概括为:两个对应一个桥梁。两个对应指:1.字节流(Byte Stream)和字符流(Char Stream)的对应;2.输入和输出的对应。一个桥梁指:从字节流到字符流的桥梁。对应于输入和输出为InputStreamReader和OutputStreamWriter。在流的具体类中又可以具体分为:1.介质流(Media Stream或者称为原始流Raw Stream)主要指一些基本的流,他们主要是从具体的介质上,如:文件、内存缓冲区(Byte数组、Char数组、StringBuffer对象)等,读取数据;2.过滤流(Filter Stream)主要指所有FilterInp

11、utStream/FilterOutputStream和FilterReader/FilterWriter的子类,主要是对其包装的类进行某些特定的处理,如:缓存等。三、IO中的流流具有最基本的特点:“One dimension , one direction .”即流是一维的,同时流是单向的。关于维和我们通常说的一维长度,二维平面,三维空间,四维时空是同一个概念,流就是一维的。单向就是只可以一个方向(按顺序从头至尾依次)读取,不可以读到某个位置,再返回前面某个位置。流的概念和实际水流的概念基本一致,水只可以从高向低一个方向流动。我们某时在目地喝了一口水,下次在同一个地点喝水已经不是当时的那片水

12、了。流的这种特性在JMS(Java Message Service)的API设计中得到了体现。JMS是J2EE平台下面向消息中间件的一个标准。(关于中间件技术有机会和大家探讨)JMS中有五种具体类型的消息,这些消息一般分为两类:1.流式的消息包含ByteMessage和StreamMessage;2.非流式的消息包含TextMessage、ObjectMessage和MapMessage。我们在明白IO中流的特点后,基本可以明白JMS API设计者的意图。可能有些场合我们需要在文件中随机插入数据、在流中来来回回地执行某些操作,这时候我们绝对不可以使用流相关的对象。很幸运JDK的设计者为我们设计

13、了一个单独的类RandomAccessFile,它可以完成打开、关闭文件、以基本数据类型的方式读取数据、读取下一个行、以UTF等格式读取数据、写入各种类型的数据、比较特殊的是他可以通过文件指针的seek方法让文件指针移到某个位置,可以通过getFilePointer()方法得到当前指针的位置、可以通过length()方法得到当前文件的容量、通过getFD()得到FileDescriptor对象,通过getChannel()方法得到FileChannel对象,从而和New IO整合。下面比较简单的分析IO中的各个对象吧!3.1 IO中的输入字节流下面是IO中输入字节流的继承图。oInputStr

14、eamoByteArrayInputStreamoFileInputStreamoFilterInputStreamoBufferedInputStreamoDataInputStreamoLineNumberInputStreamoPushbackInputStreamoObjectInputStreamoPipedInputStreamoSequenceInputStreamoStringBufferInputStream在上面的关系图中可以看出:1.InputStream是所有的输入字节流的父类,它是一个抽象类。2. ByteArrayInputStream、StringBufferIn

15、putStream、FileInputStream是三种基本的介质流,它们分别将Byte数组、StringBuffer、和本地文件中读取数据。PipedInputStream是从与其它线程共用的管道中读取数据,与Piped相关的知识会用专门的一小节讲解。3. ObjectInputStream和所有FilterInputStream的子类都是装饰流(装饰器模式的主角)。下表列出了这些流的功能及如何使用它们(具体使用在讲解完装饰器模式后会举几个例子)。基本输入字节流:类功能如何构造怎样使用ByteArrayInputStream将内存中的Byte数组适配为一个InputStream。从内存中的Byte数组创建该对象(2种方法)一般作为数据源,会使用其它装饰流提供额外的功能,一般都建

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号