1、计算机二级 Java 考试 2+2015 年及答案解析(总分:40.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.线性表 L=(al,a2,a3,ai,an),下列说法正确的是( )。(分数:1.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有且只有一个直接前继和直接后继2.下列关于完全二叉树的叙述中,错误的是( )。(分数:1.00)A.除了最后一层外,每一层上的结点数均达到最大值B.可能缺少若干个左右叶子结点C.完全二叉树一般不是满二叉树D
2、.具有结点的完全二叉树的深度为log2n+13.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:1.00)A.125B.n/2C.nD.n+14.下列选项中不属于结构化程序设计方法的是( )。(分数:1.00)A.自顶向下B.逐步求精C.模块化D.可复用5.软件需求分析阶段的工作,可以分为 4 个方面:需求获取、需求分析、编写需求规格说明书以及( )。(分数:1.00)A.阶段性报告B.需求评审C.总结D.都不正确6.下列叙述中,不属于测试的特征的是( )。(分数:1.00)A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性D.测试的经济性7.模块独立性是软
3、件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )。(分数:1.00)A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法8.下列关于软件测试的描述中正确的是( )。(分数:1.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则9.下列工具中为需求分析常用工具的是( )。(分数:1.00)A.PADB.PFDC.N-SD.DFD10.下列特征中不是面向对象方法的主要特征的是( )。(分数:1.00)A.多态性B.继承C.封装性D.模块化11.下列
4、与数据元素有关的叙述中,不正确的是( )。(分数:1.00)A.数据元素是数据的基本单位,即数据集合中的个体B.数据元素是有独立含义的数据最小单位C.数据元素又称为结点D.数据元素又称为记录12.栈 S 最多能容纳 4 个元素,现有 6 个元素按 A、B、C、D、E、F 的顺序进栈,下列( )序列不是可能的出栈序列。(分数:1.00)A.C、B、E、D、A、FB.C、D、B、F、E、AC.A、D、E、C、B、FD.A、F、E、D、C、B13.在电子邮件程序向邮件服务器中发送邮件时,使用的是简单邮件传输协议,下列( )是简单邮件传输协议。(分数:1.00)A.POP3B.IMAPC.HTTPD.
5、SMTP14.对一个由 n 个关键码组成的序列,借助排序过程选出其中最大的关键码,要求关键码比较次数和移动次数最少,则最佳排序方法是( )。(分数:1.00)A.归并排序B.直接插入排序C.直接选择排序D.快速排序15.对线性表进行二分法查找,其前提条件是( )。(分数:1.00)A.线性表以顺序方式存储,并已按关键码值排好序B.线性表以顺序方式存储,并已按关键码值的查找频率排好序C.线性表以有序方式存储,并已按关键码值排好序D.线性表以有序方式存储,并已按关键码值的查找频率排好序16.Java 的核心包中,提供编程应用的基本类的包是( )。(分数:1.00)A.java.langB.java
6、.utilC.java.appletD.java.rmi17.下列关于 Java 对 import 语句规定自叙述中,错误的是( )。(分数:1.00)A.在 Java 程序中 import 语句可以有多个B.在 Java 程序中 import 语句可以没有C.在 Java 程序中 import 语句必须有一个D.在 Java 程序中 import 语句必须引入在所有类定义之前18.在编译 Java 程序时,用于指定生成.class 文件位置的选项是( )。(分数:1.00)A.-9B.-dC.-verboseD.-nowarn19.下列方法中,不属于 WindowListener 接口的是(
7、 )。(分数:1.00)A.windowOpened()B.windowClosed()C.windowActivated()D.mouseDragged()20.运行 Java 程序需要的工具软件所在的目录是( )。(分数:1.00)A.JDK 的 bin 目录B.JDK 的 demo 目录C.JDK 的 lib 目录D.JDK 的 ire 目录21.下列关于 Java 语言特点的叙述中,错误的是( )。(分数:1.00)A.Java 是面向过程的编程语言B.Java 支持分布式计算C.Java 是跨平台的编程语言D.Java 支持多线程22.可以使当前同级线程重新获得运行机会的方法是( )
8、。(分数:1.00)A.Sleep()B.join()C.yield()D.interrupt()23.下列语句中,属于多分支语句的是( )。(分数:1.00)A.if 语句B.for 语句C.switch 语句D.do while 语句24.阅读下列代码 public class Test2005 public static void main(String args) String s=“Test“; switch(s) case“Java“:System.out.print(“Java“); break; case“Language“:System.out.print(“Lan- gua
9、ge“); break; case“Test“:System.out.print(“Test“); break; 其运行结果是( )。(分数:1.00)A.JavaB.LanguageC.TestD.编译时出错25.在程序读入字符文件时,能够以该文件作为直接参数的类是( )。(分数:1.00)A.FileReaderB.BufferedReaderC.FilelnputStreamD.ObjectlnputStream26.下列描述中,正确的是( )。(分数:1.00)A.在 Serializable 接口中定义了抽象方法B.在 Serializable 接口中定义了常量C.在 Seriali
10、zable 接口中没有定义抽象方法,也没有定义常量D.在 Serializable 接口中定义了成员方法27.请阅读下面程序,说明该程序创建线程使用的方法是( )。 public class ThreadTest public static void main(String args) Thread tl=new Thread(new HolloWorld(); Thread t2=new Thread(new HolloWorld(); tl.start(); t2.Start(); class HolloWorld implements Runnable int i; public voi
11、d run() while(true) System.out.println(“HolloWorld“+i+); if(i= =5)break; (分数:1.00)A.继承 Thread 类B.实现 Runnable 接口C.tl.start()D.t2.start()28.java.io 包的 File 类是( )。(分数:1.00)A.字符流类B.字节流类C.对象流类D.非流类29.为保护本地主机,对 Applet 安全限制中正确的是( )。(分数:1.00)A.Applet 可加载本地库或方法B.Applet 可读、写本地计算机的文件系统C.Applet 可向 Applet 之外的任何主
12、机建立网络连接D.Applet 不能运行任何本地可执行程序30.请阅读下面程序 public class ExampleStringBuffer public static void main(Stringargs) StringBuffer sb=new StringBuffer(“test“); System.OUt.println(“buffer=“+sb); System.OUt.println(“length=“+sb.length (); 程序运行结果中在“length=“后输出的值是( )。(分数:1.00)A.10B.4C.20D.3031.每个 Java 小应用程序必须定义为
13、( )。(分数:1.00)A.Applet 类或 JApplet 类的子类B.JFrame 类的子类C.Frame 的子类D.Window 的子类32.若特快订单是一种订单,则特快订单类和订单类的关系是( )。(分数:1.00)A.使用关系B.包含关系C.继承关系D.无关系33.下列关于 Applet 的安全限制的叙述中,错误的是( )。(分数:1.00)A.通常情况下,禁止 Applet 读、写本地文件系统B.通常情况下,禁止 Applet 向 Applet 源主机之外的任何主机建立网络连接C.通常情况下,禁止 Applet 读取系统信息D.通常情况下,禁止 Applet 加载本地库或方法3
14、4.Swing 的选项面板是( )。(分数:1.00)A.JTabbedPaneB.JLayeredPaneC.JScrollPaneD.JSplitPane35.提供 showDocument()方法,使 Applet 能够请求浏览器访问特定 URL 的类是( )。(分数:1.00)A.AppletB.AppletContextC.JAppletD.URL36.阅读下面程序 1 public class Try extends Thread 2 public static void main(String args) 3Try t=new Try(); 4 t.start(); 5 6 7
15、public void run(intj) 8 inti=0; 9 while(iA.将第 1 行的 extendsThread 改为 implementsRunnableB.将第 3 行的 newTry()改为 newThread()C.将第 4 行 t.start()改为 start(t)D.将第 7 行的 public void run(intj)改为 public void run()37.若数组 a 定义为 inta=new int34,则 a 是( )。(分数:1.00)A.一维数组B.二维数组C.三维数组D.四维数组38.下列标识符(名字)命名原则中,正确的是( )。(分数:1.
16、00)A.类名的首字母小写B.变量和方法名的首字母大写C.接口名的首字母小写D.常量完全大写39.Java 语言使用的字符码集是( )。(分数:1.00)A.ASCIIB.BCDC.DCBD.Unicode40.下列事件监听器中,无法对 TextField 对象进行事件监听和处理的是( )。(分数:1.00)A.ActionListenerB.FocusListenerC.MouseMotionListenerD.ChangeListener计算机二级 Java 考试 2+2015 年答案解析(总分:40.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.线性表 L=
17、(al,a2,a3,ai,an),下列说法正确的是( )。(分数:1.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有且只有一个直接前继和直接后继 解析:解析:线性表可以为空表;第一个元素没有直接前驱,最后一个元素没有直接后继;线性表的定义中,元素的排列并没有规定大小顺序。2.下列关于完全二叉树的叙述中,错误的是( )。(分数:1.00)A.除了最后一层外,每一层上的结点数均达到最大值B.可能缺少若干个左右叶子结点 C.完全二叉树一般不是满二叉树D.具有结点的完全二叉树的深
18、度为log2n+1解析:解析:满二叉树指除最后一层外,每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干叶子结点的二叉树。由定义可知,满二叉树肯定是完全二叉树,而完全二叉树一般不是满二叉树。3.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:1.00)A.125B.n/2C.n D.n+1解析:解析:对线性表进行顺序查找时,最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。4.下列选项中不属于结构化程序设计方法的是
19、( )。(分数:1.00)A.自顶向下B.逐步求精C.模块化D.可复用 解析:解析:结构化程序设计的主要原则概括为自顶向下,逐步求精,模块化。5.软件需求分析阶段的工作,可以分为 4 个方面:需求获取、需求分析、编写需求规格说明书以及( )。(分数:1.00)A.阶段性报告B.需求评审 C.总结D.都不正确解析:解析:需求分析是软件定义时期的最后一个阶段。可以概括为四个方面:需求获取;需求分析;编写需求规格说明书;需求评审。6.下列叙述中,不属于测试的特征的是( )。(分数:1.00)A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性 D.测试的经济性解析:解析:软件测试的目标是在精心控制
20、的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。软件测试有 3 个重要特征:测试的挑剔性、完全测试的不可能性及测试的经济性。7.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( )。(分数:1.00)A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性 D.激活机制和控制方法解析:解析:模块的独立性是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。8.下列关于软件测试的描述中正确的是( )。(分数:1.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中
21、的错误 D.软件测试的目的是使程序符合结构化原则解析:解析:软件测试是为了尽可能多地发现程序中的错误,尤其是至今尚未发现的错误。9.下列工具中为需求分析常用工具的是( )。(分数:1.00)A.PADB.PFDC.N-SD.DFD 解析:解析:需求分析常用工具有数据流图(DFD)、数据字典(DD)、判定树和判定表。问题分析图(PAD)、程序流程图(PFD)、金式图(N-S)都是详细设计的常用工具,不是需求分析的工具。10.下列特征中不是面向对象方法的主要特征的是( )。(分数:1.00)A.多态性B.继承C.封装性D.模块化 解析:解析:模块化是结构化程序设计的特点。面向对象设计方法使用现实世
22、界的概念抽象地思考问题从而自然地解决问题。他的特点包括:分类性、封装性、模块独立性、继承和多态性等。11.下列与数据元素有关的叙述中,不正确的是( )。(分数:1.00)A.数据元素是数据的基本单位,即数据集合中的个体B.数据元素是有独立含义的数据最小单位 C.数据元素又称为结点D.数据元素又称为记录解析:解析:数据元素是数据的基本单位,即数据集合中的个体。有些情况下也把数据元素称为结点、记录、表目等。一个数据元素可由一个或多个数据项组成,数据项是有独立含义的数据最小单位,其值能唯一确定一个数据元素的数据项。12.栈 S 最多能容纳 4 个元素,现有 6 个元素按 A、B、C、D、E、F 的顺
23、序进栈,下列( )序列不是可能的出栈序列。(分数:1.00)A.C、B、E、D、A、FB.C、D、B、F、E、AC.A、D、E、C、B、FD.A、F、E、D、C、B 解析:解析:栈的特性为后进先出,而栈 S 只能容纳 4 个元素。当 F 进栈时,说明栈中有已有B、C、D、E 四个元素,所以 F 无法进栈。13.在电子邮件程序向邮件服务器中发送邮件时,使用的是简单邮件传输协议,下列( )是简单邮件传输协议。(分数:1.00)A.POP3B.IMAPC.HTTPD.SMTP 解析:解析:在电子邮件程序向邮件服务器中发送邮件时,使用的是简单邮件传输协议(SMTP),而在电子邮件程序从邮件服务器中读取
24、邮件时,可以使用邮局协议(POP3)。14.对一个由 n 个关键码组成的序列,借助排序过程选出其中最大的关键码,要求关键码比较次数和移动次数最少,则最佳排序方法是( )。(分数:1.00)A.归并排序B.直接插入排序C.直接选择排序 D.快速排序解析:解析:直接选择排序第一遍扫描就可以把最大的关键码找出来(不必等到排序结束),而其他几种排序方法都必须等到排序完成才能找到最大关键码。15.对线性表进行二分法查找,其前提条件是( )。(分数:1.00)A.线性表以顺序方式存储,并已按关键码值排好序 B.线性表以顺序方式存储,并已按关键码值的查找频率排好序C.线性表以有序方式存储,并已按关键码值排好
25、序D.线性表以有序方式存储,并已按关键码值的查找频率排好序解析:解析:二分法查找是一种效率较高的线性表查找方法。要进行二分法查找,则线性表结点必须是按关键码值排好序的,且线性表以顺序方式存储。16.Java 的核心包中,提供编程应用的基本类的包是( )。(分数:1.00)A.java.lang B.java.utilC.java.appletD.java.rmi解析:解析:Java 的核心包一共有 l2 个,其中:java.lan9 包中封装了所有编程应用的基本类;java.util 包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、 集合等常用工具;java.applet 包为 A
26、pplet 提供执行需要的所有类,主要是访问 Applet 内容的通信类;java.rmi 包提供程序远程方法调用所需的类。因此,本题的正确答案是 A。17.下列关于 Java 对 import 语句规定自叙述中,错误的是( )。(分数:1.00)A.在 Java 程序中 import 语句可以有多个B.在 Java 程序中 import 语句可以没有C.在 Java 程序中 import 语句必须有一个 D.在 Java 程序中 import 语句必须引入在所有类定义之前解析:解析:Java 程序中使用 import 关键字导入一个包中的类。在一个 Java 源程序中,可以有 0 个或多个
27、import 语句,但是必须在所有类定义之前引入标准类。因此,本题中选项 C 的说法是错误的。18.在编译 Java 程序时,用于指定生成.class 文件位置的选项是( )。(分数:1.00)A.-9B.-d C.-verboseD.-nowarn解析:解析:javac.exe 是 Java 编译器,能将源程序代码编译成字节码,以.class 扩展名存入 Java 工作目录中。它的命令格式为:javac选项文件名。其中选项包括以下几个:-g。输出文件中加行号以及局部变量信息,为调试程序时用。-o 对类文件进行优化编译。-nowarn 关闭警告信息,只显示错误信息。-verbose 显示源代码
28、文件和字节码文件的相关信息。-d 指定存放生成的类(.class)文件的位置根据上述介绍可知,在编译 Java 程序时,可以通过选项-d 来指定生成的.class 文件的位置。因此,本题的正确答案是 B。19.下列方法中,不属于 WindowListener 接口的是( )。(分数:1.00)A.windowOpened()B.windowClosed()C.windowActivated()D.mouseDragged() 解析:解析:WindowListener 接口包含的方法是:Window Activated(WindowEvent);WindowOlpened(WindowEvent
29、);WindowClosed(WindowEvent);WindowClosing(WindowEvent);WindowDeactivated(WindowEvent);WindowDeiconified(WindowEvent)windowlconified(WindowEvent)。所以 D 选项错误。20.运行 Java 程序需要的工具软件所在的目录是( )。(分数:1.00)A.JDK 的 bin 目录 B.JDK 的 demo 目录C.JDK 的 lib 目录D.JDK 的 ire 目录解析:解析:运行 Java 的 JDK 一共包含五个目录,分别是:bin 目录,该目录包含 Ja
30、va 编译器、解释器和许多工具(如服务器工具、IDL、package 工具等);lib 目录,该目录包含 Java 库文件;jre 目录,该目录是 Java 程序运行环境的根目录,它下面包含 bin 子目录,包括平台所用工具和库的可执行文件以及DLL 文件;demo 目录,该目录包含源代码的程序示例;include 目录,该目录包含 Win32 子目录,都是本地方法的文件。21.下列关于 Java 语言特点的叙述中,错误的是( )。(分数:1.00)A.Java 是面向过程的编程语言 B.Java 支持分布式计算C.Java 是跨平台的编程语言D.Java 支持多线程解析:解析:Java 是新
31、一代编程语言,具有很多特点:简单易学;利用面向对象技术;分布式计算;健壮性(鲁棒性);安全性;跨平台(即体系结构中立);可移植性;解释执行;高性能;多线程;动态性。因此,本题的正确答案是 A。22.可以使当前同级线程重新获得运行机会的方法是( )。(分数:1.00)A.Sleep()B.join()C.yield() D.interrupt()解析:解析:本题考查线程的基本控制。Thread 类提供的基本线程控制方法包括:sleep()使比其低的优先级线程运行,可以让一个线程暂停运行一段固定的时间;yield()使具有与当前线程相同优先级的线程有运行的机会;join()使当前线程暂停执行,等待
32、调用该方法的线程结束后,再恢复执行;interrupt()中断线程的阻塞状态,并且线程接收到 InterruptException 异常。根据上述介绍可知,只有 yield()方法可以使当前同级线程重新获得运行机会。因此,本题的正确答案是 C。23.下列语句中,属于多分支语句的是( )。(分数:1.00)A.if 语句B.for 语句C.switch 语句 D.do while 语句解析:解析:do while 语句和 for 语句是循环语句;it 语句和 switch 语句是分支语句。而 if 语句称为条件语句, switch 语句称为多分支语句。24.阅读下列代码 public class
33、 Test2005 public static void main(String args) String s=“Test“; switch(s) case“Java“:System.out.print(“Java“); break; case“Language“:System.out.print(“Lan- guage“); break; case“Test“:System.out.print(“Test“); break; 其运行结果是( )。(分数:1.00)A.JavaB.LanguageC.TestD.编译时出错 解析:解析:本题考查 switch 语句的用法。switch 语句是多
34、分支语句,即根据表达式的值来执行多个操作中的一个。在 switch 语句中,”表达式”的返回值类型必须是这几种类型之一:int、byte、char、short。本题中,switch 的表达式 s 是一个字符串 Strin9 类型的值,它不是int、byte、char、short 中的任意一个。因此表达式 s 的类型不对,编译时出错。25.在程序读入字符文件时,能够以该文件作为直接参数的类是( )。(分数:1.00)A.FileReader B.BufferedReaderC.FilelnputStreamD.ObjectlnputStream解析:解析:FileReader、BufferedR
35、eader 是字符类输入流。FileInputStream 是字节输入流。对象串行化时,需要使用 ObjectlnputStream 类中提供的方法从对象流中读取对象。所以,在程序读入字符文件时,要使用字符流 FileReader 或 BufferedReader。但是 FileReader 的参数是读入的文件,而BufferedReader 的参数是 FileReader 流的一个对象。因此,本题的正确答案是 A。26.下列描述中,正确的是( )。(分数:1.00)A.在 Serializable 接口中定义了抽象方法B.在 Serializable 接口中定义了常量C.在 Serializ
36、able 接口中没有定义抽象方法,也没有定义常量 D.在 Serializable 接口中定义了成员方法解析:解析:在 java.i0 包中,接口 Serializable 是实现对象串行化的工具。实际上,Serializable 接口是一个空接口,它里面既没有定义抽象方法,也没有定义常量。Serializable 接口的目的只是简单地标识一个类的对象是可以被串行化的。27.请阅读下面程序,说明该程序创建线程使用的方法是( )。 public class ThreadTest public static void main(String args) Thread tl=new Thread(n
37、ew HolloWorld(); Thread t2=new Thread(new HolloWorld(); tl.start(); t2.Start(); class HolloWorld implements Runnable int i; public void run() while(true) System.out.println(“HolloWorld“+i+); if(i= =5)break; (分数:1.00)A.继承 Thread 类B.实现 Runnable 接口 C.tl.start()D.t2.start()解析:解析:本题考查线程的创建。在 Java 中,创建线程有
38、两种方法:通过实现 Runnable 接口创建线程。Runnable 接口中只定义了一个 run()方法作为线程体。通过继承 Thread 类创建线程,Thread 类本身实现了 Runnable 接口。创建的新的线程不会自动运行,必须调用 start()方法才能运行。本题中HolloWorld 类实现了 Runnable 接口。28.java.io 包的 File 类是( )。(分数:1.00)A.字符流类B.字节流类C.对象流类D.非流类 解析:解析:Java.io 包中的类可以处理不同类型的流,比如字节流、字符流、对象流、非流类等。File类就是一个重要的非流类,它是以一种系统无关的方式
39、表示一个文件对象的属性。29.为保护本地主机,对 Applet 安全限制中正确的是( )。(分数:1.00)A.Applet 可加载本地库或方法B.Applet 可读、写本地计算机的文件系统C.Applet 可向 Applet 之外的任何主机建立网络连接D.Applet 不能运行任何本地可执行程序 解析:解析:Java 平台为了防范恶意程序的攻击,保护本地主机,对 Applet 作了如下安全限制:Applet 不能运行任何本地可执行程序。禁止加载本地库或方法。禁止读、写本地计算机的文件系统。禁止向提供 Applet 之外的任何主机建立网络连接。不能读取某些系统信息。由一个 Applet 弹出的
40、窗口外观上与一个 Application 弹出的窗口不同,Applet 弹出的窗口中会有警告提示信息,帮助用户区分 Applet 窗口与可信的 Application 窗口。30.请阅读下面程序 public class ExampleStringBuffer public static void main(Stringargs) StringBuffer sb=new StringBuffer(“test“); System.OUt.println(“buffer=“+sb); System.OUt.println(“length=“+sb.length (); 程序运行结果中在“lengt
41、h=“后输出的值是( )。(分数:1.00)A.10B.4 C.20D.30解析:解析:本题对 StringBuffer(String str)构造方法,用 str 给出字符串的初始值,并分配 16 个字符的缓存。因此,字符串 sb 的初始值是”test”,并且包含 l6 个字符的缓存。length()方法用来获得字符串长度,不包含缓存。故程序运行结果中在”length=”后输出的值应该是字符串 sb 的长度,即 4。31.每个 Java 小应用程序必须定义为( )。(分数:1.00)A.Applet 类或 JApplet 类的子类 B.JFrame 类的子类C.Frame 的子类D.Wind
42、ow 的子类解析:解析:本题考查 Applet 的基本知识。Applel 类定义了小应用程序(Applet)与其运行环境之间的一个接口;JApplet 是 Applet 类的扩展,它继承了 Applet 的方法和执行机制,同时也增加了对 Swing 构件的支持。每个 Jaw 小应用程序都必须是 Applet 类或 JApplet 类的子类。因此,本题的正确答案是 A。32.若特快订单是一种订单,则特快订单类和订单类的关系是( )。(分数:1.00)A.使用关系B.包含关系C.继承关系 D.无关系解析:解析:继承是允许将一个类定义为一个更通用类的特例。特殊类称为子类,通用类称为父类。除了订单类的
43、属性外,特快订单类可能还有其他一些特殊属性。显然,订单类是通用类,即父类;而特快订单类是定单类的一个特例,是子类。订单类和特快订单类是继承关系。33.下列关于 Applet 的安全限制的叙述中,错误的是( )。(分数:1.00)A.通常情况下,禁止 Applet 读、写本地文件系统B.通常情况下,禁止 Applet 向 Applet 源主机之外的任何主机建立网络连接C.通常情况下,禁止 Applet 读取系统信息 D.通常情况下,禁止 Applet 加载本地库或方法解析:解析:本题考查 Applet 的安全限制。许多浏览器为了保护本地主机,一般情况下,对 Applet 作了如下安全限制:App
44、let 不能运行任何本地可执行程序;禁止 Applet 读、写本地计算机的文件系统;禁止加载本地库或方法。Applet 只能使用自身的代码或 Applet 浏览器提供的 JavaAPl;禁止向提供 Applet 之外的任何主机建立网络连接;不能读取某些系统信息。除了 Java 版本号、操作系统名等一些简单信息外,Applet 不能获得与本地计算机有关的任何信息。根据上述介绍可知,Applet 只能读取有限的系统信息,但不是一点儿都不能读取。因此,本题的正确答案是 C。34.Swing 的选项面板是( )。(分数:1.00)A.JTabbedPane B.JLayeredPaneC.JScrol
45、lPaneD.JSplitPane解析:解析:本题考查 Swing 的容器面板。在 Swing 的容器面板中:选项板(JTabbedPane)提供一组可供用户选择的带有标签或图标的选项,每个选项下面都可以显示一个构件;Swing 提供两种分层面板:JLayeredPane 和 JDesktopPane。JDesktopPane 是 JLayeredPane 的子类,专门为容纳内部框架(JInternalFrame)而设计;滚动窗口(JScrollPane)是带滚动条的面板,主要是通过移动 JViewport(视口)来实现的;分隔板(JSplitPane)用于分隔两个构件,这两个构件可以按照水平
46、方向分隔,也可以按照垂直方向分隔。根据上述介绍可知,Swing 中的选项面板是 JTabbedPane。因此,本题的正确答案是 A。35.提供 showDocument()方法,使 Applet 能够请求浏览器访问特定 URL 的类是( )。(分数:1.00)A.AppletB.AppletContext C.JAppletD.URL解析:解析:AppletContext 类是一个接口类,Applet 通过 AppletContext 接口与环境进行通信。可以利用这个类从 Applet 环境获取信息,而这个环境一般是指浏览器。Applet 使用 AppletContext 类的showDocu
47、ment()方法可以通知浏览器在指定窗口中显示另一个 URL 的内容。因此,本题的正确答案是 B。36.阅读下面程序 1 public class Try extends Thread 2 public static void main(String args) 3Try t=new Try(); 4 t.start(); 5 6 7 public void run(intj) 8 inti=0; 9 while(iA.将第 1 行的 extendsThread 改为 implementsRunnableB.将第 3 行的 newTry()改为 newThread()C.将第 4 行 t.st
48、art()改为 start(t)D.将第 7 行的 public void run(intj)改为 public void run() 解析:解析:本题考查线程的创建。Java 语言中提供两种创建线程的方法,一种是通过实现 Runnable 接口来创建线程,另一种是通过继承 Thread 类创建线程。显然,题目中的程序是使用第二种方法来创建线程。Thread 类中定义了 run()方法,所以通过继承 Thread 类来创建线程时还要重写 Thread 类中的 run()方法。而 run()方法的定义如下: public void run() 题目中的代码比较简单,就是创建了一个线程,这个线程完成的操作就是打印 5 行“祝你成功“。仔细阅读程序,不难发现第 7 行有错。在run()方法的定义中是没有参数的,而题目程序中的 run 方法却带有一个参数。因此,要把第 7 行的代码改为“public void run()“。因此,本题的正确答案是 D。37.若数组 a 定义为 inta=new int34,则 a 是( )。(分数:1.00)A.一维数组B.二维数组 C.三维数组D.四维数组解析:解析:二维数组有两种定义方式:type arrayName;typearrayName;从题目中的语句可以看出,本题定义了一个二维数组。38.下列标识符(名字)命名原则中,正确的是( )