1、国家二级( JAVA)笔试模拟试卷 54及答案与解析 1 线性表的链式存储结构是一种 ( )的存储结构。 ( A)随机存储 ( B)顺序存储 ( C)索引存储 ( D)散列存储 2 一个栈的入栈序列是 1, 2, 3, , n,其输出序列为 P1, P2, P3, , Pn,若p1=n,则 Pi为 ( )。 ( A) i ( B) n-i ( C) n-i+1 ( D)不确定 3 采用线性链表表示一个向量时,要求占用的存储空间地址 ( )。 ( A)必须是连续的 ( B)部分地址必须是连续的 ( C)一定是不连 续的 ( D)可连续可不连续 4 首先访问结点的左子树,然后访问该结点,最后访问结
2、点的右子树,这种遍历称为 ( )。 ( A)前序遍历 ( B)后序遍历 ( C)中序遍历 ( D)层次遍历 5 在顺序表 (3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码 11,所需的关键码比较次数为 ( )。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 6 下列叙述中正确的是 ( )。 ( A)在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息 ( B) 在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节 ( C)在模块程序设计中,一个模块内部的控制结构也要符合结构化原则 ( D)在程序设计过程中,不能同时采用结构化程
3、序设计方法与模块化程序设计方法 7 检查软件产品是否符合需求定义的过程称为 ( )。 ( A)确认测试 ( B)集成测试 ( C)验证测试 ( D)验收测试 8 软件调试的目的是 ( )。 ( A)发现错误 ( B)改正错误 ( C)改善软件的性能 ( D)挖掘软件的潜能 9 将 E-R图转换到关系模式时,实体与 联系都可以表示成 ( )。 ( A)属性 ( B)关系 ( C)键 ( D)域 10 以下各项中可以减少相同数据重复存储现象的是 ( )。 ( A)记录 ( B)字段 ( C)文件 ( D)数据库 11 在下列选项中属于 Java语言的代码安全检测机制的是 ( )。 ( A)动态链接
4、 ( B)访问权限的检查 ( C)通过接口实现多重继承 ( D)将所有的 Java应用都看做对象,按类进行封装 12 下列 API不属于 java.lang.Math的是 ( )。 ( A) random() ( B) abs() ( C) drawLine() ( D) sin() 13 如果类中成员没有使用关键字,则它们的访问权限默认为 ( )。 ( A) private ( B) protected ( C) public ( D) default 14 当对象 obj调用其类成员函数 init()时, init()的 this指向的是 ( )。 ( A)对象 obj ( B) init
5、() ( C)类本身 ( D)其他的对象 15 下列对整型常量定义的解释中正确的是 ( )。 ( A) 034代表八进制的数 1C ( B) 034代表十进制的数 34 ( C) 034代表十六进制的数 28 ( D) 34L代表值为 34的 64位长整数 16 若 x、 a、 b和 c均是 int型变量,则执行表达式 x=(a=1,b=2)后的结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) x无确定值 17 用整数 10创建一个 Integer类的对象,下列各语句中能完成此功能的是 ( )。 ( A) Integer i=new Integer(10); ( B) In
6、teger i=10; ( C) int i=10; ( D) Integer i=Integer(10); 18 有如下代码段 public class OperatorAndExceptions public static void main(String args int i=10,j=15; System.out.println(i=j); String s1 = new String(“how are you!“); String s2=new String(“how are you!“); System.out.println(s1=s2); 其输出为 ( )。 ( A) true
7、 false ( B) true true ( C) false true ( D) false false 19 有下列程序段 public class fun public static void main(String args) char b = “Hello,you“; b5 = 0; System.out.println(s); 执行此程序后,得到的输出结果是 ( )。 ( A) Hello,you ( B) Hello0you ( C) Hello ( D) 0 20 下列对字符数组进行初始化的语句正确的是 ( )。 ( A) char a=“Hello“; ( B) char
8、a=H,e,l,l,o; ( C) char a5=“Hello“; ( D) char a25=“Hello“,“World“; 21 给出下列代码片断: if(x 0) System.out.println(“first“); else if(x -3)System.out.println(“second“); else System.out.println(“third“); 请问 x处于什么范围时将打印字符串 “second”?( ) ( A) x 0 ( B) x -3 ( C) x =-3 ( D) x =0 int b=1; for(int i=1;i=3;i+) a=a+b;
9、b=b+a; System.out.println(a+“ “+B) ; ( A) 6 6 ( B) 5 8 ( C) 13 21 ( D) 34 55 23 以下程序段的输出结果是 ( )。 int x=5; do x-; while(!x); ( A) 5 ( B)无任何输出 ( C) 4 ( D)陷入死循环 24 如下的代码段中,如果方法 unsafe()正常运行,那么结果是 ( )。 public void example() try unsafe(); System.out.println(“Test1“); catch(SafeException e) System.out.pri
10、ntln(“Test 2“); finally System.out.println(“Test 3); System.out.println(“Test 4“); ( A) Test 3 Test 4 ( B) Test1 Test3 Test4 ( C) Test1 Test3 ( D) Tcst1 Test4 25 使用 ( )关键字来跳出 try块和进入 finally块。 ( A) catch ( B) return ( C) while ( D) try 26 有如下的代码段,当编译和运行时,下列各选项中说法正确的是 ( )。 public class Z public stati
11、c void main(String args) new Z (); Z() Z alias1 = this; Z alias2 = this; synchronized(alias1) try alias2.wait(); System.out.println(“DONE WAITING“); catch (InterruptedException e) System.out.println( “INTERRUPTED“); catch (Exception e) System.out.println(“OTHER EXCEPTION“); finally System.out.printl
12、n (“FINALLY“); System.out.println(“ALL DONE“); ( A)应用程序编译正常,但是不打印任何数据 ( B)应用程序编译正常,并打印数据 “DONE WAITING” ( C)应用程序编译正常,并打印数据 “FINALLY” ( D)应用程序编译正常,并打印数据 “ALL DONE” 27 下列各方法中不被建议用于线程同步过程的是 ( )。 ( A) start() ( B) wait() ( C) notify() ( D) resume() 28 下列程序的输出结果为 ( )。 public class Reentrant public synchr
13、onized void a() b(); System.out.println(“here I am, in a()“); public synchronized void b() System.out.println(“here I am, in b()“); public static void main(String args ) Reentrant r=new Reentrant(); r.a(); ( A) here I am, in a()/here I am, in b() ( B) hereI am, in b()/here I am, in a() ( C) here I a
14、m, in a() ( D) here I am, in b() 29 下列 Java布局管理器中,简单地将组件由左到右排列,排满一行,自动移到下一行的布局管理器是 ( )。 ( A) FlowLayout ( B) BorderLayout ( C) GfidLayout ( D) BoxLayout 30 下面哪个类给出了构件的定义 ? ( ) ( A) java.awt.Graphics ( B) java.awt.Container ( C) java.awt.Component ( D) java.awt.Object 31 下列标准对话框 JOptionPane类创建的对话框中,综
15、合了其他 3个对话框类型特点的是 ( )。 ( A) ConfirmDialog ( B) InputDialog ( C) OptionDialog ( D) MessageDialog 32 下列哪个方法使用了 Graphics类的实例作为参数 ? ( ) ( A) repaint() ( B) init() ( C) drawBytes() ( D) update() 33 如果在程序中使用 Swing,则小程序应该从哪一个类继承 ? ( ) ( A) java.applet.Applet ( B) javax.swing.JApplet ( C)任何一个 ( D)两个都不是 34 若要
16、查询关于数据库的信息则可以调用下列哪一个方法 ? ( ) ( A) Connection类的 getMetaData()方法 ( B) DriverManager类的 getConnection()方法 ( C) Connection类的 createStatement()方法 ( D) Statement类的 executeQuery()方法 35 J2ME平台中负责移动设备本地数据存储的模块是 ( )。 ( A) PP ( B) PBP ( C) MIDP ( D) CDC 36 在数据结构中, 从逻辑上可以把数据结构分成线性结构和【 】。 37 在双链表中,每个结点有两个指针域,一个指向
17、前驱结点,另一个指向【 】。 38 【 】是当前软件开发环境中富有特色的研究工作和发展方向。 39 数据库是指按照一定的规则存储在计算机中的【 】的集合,它能被各种用户共享。 40 模块的独立性一般用两个准则来度量,即模块间的【 】和模块的内聚性。 41 要引入 java.nrt包中的 URL公有类,需用语句【 】。 42 赋值表达式的组成是:在赋值运算符的左边是【 】,右边是一表 达式。 43 Java线程模型中的数据和【 】构成了线程体。 44 在 Java中,字符是作为 Unicode码来处理的,每个字符用【 】个字节表示。 45 在 Java新的 I/O功能中,通过文件锁定来实现多个线
18、程的【 】,避免了可能存在的安全隐患。 46 【 】是 Swing新增加的组件,主要功能是把数据以二维表格的形式显示出来。 47 阅读下面程序段, SelectItem应用程序显示从文本域的组合框中进行选择,请在程序中的画线处添上正确的语句使得程序能够正确运行。 . JTextField result = new JTextField(); JComboBox pick = new JComboBox (); public SelectItem() super (“Select Item“); pick.addItemListener(this); pick.addItem(“Navigtor
19、“); pick.addItem(“Internet Explorer“); pick.addItem(“Opera“); pick.setEditable(false); result.setHorizontalAlignment(SwingConstants.CENTER); result, setEditable (false); pane.setLayout(new BorderLayout(); 【 】 pane.add(pick,“Center“); pane.add(result,“South“); setContentPane(pane); public void itemSt
20、ateChanged(ItemEvent evt) Object source = evt.getSource(); if(source = pick) Object newPick = evt.getItem(); result .setText(newPick.toString()+“ is the selection.“); repaint(); 48 每个 Applet必须定义为【 】的子类。 49 Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在 Java Application中,这个主类是指包含【 】方法的类;在 Java Applet里,这个
21、主类是一个系统类 Applet的子类。 50 下列 Applet在窗口中实现一个不可编辑的 TextField,并且显示 “ok”。请填写正确的程序在横线处。 import java.applet.Applet; import java.awt.*; public class Test14 extends Applet TextFiled tf; public void init() setLayout( new GridLayout(1,0); tf=new TextField(“Ok“); 【 】 add( tf); 国家二级( JAVA)笔试模拟试卷 54答案与解析 1 【正确答案】 B
22、 【试题解析】 本题考查数据的存储结构。线性表的链式存储结构中的每一个存储结点不仅含有一个数据元素,还包括指针,每一个指针指向一个与本结点有逻辑关系的结点,此类存储方式属于顺序存储。 2 【正确答案】 C 【试题解析】 栈是先进后出的线性表。 p1=n,即 n是最先出栈的,根据栈的运算原理, n必定是最后入栈的,那么输入顺序必定是 1, 2, 3, , n,则出栈的序列是 n, n-1, n-2, , 1,所以答案是 C。 3 【正确答案】 D 【试题解析】 链式存储结构不同于顺序存储结构,它的存储空间可以是不连续的,并且数据节点的存储顺序与数据元素之间的逻辑关系可以不一致,数据元素之间的逻辑
23、关系是由指针域来确定的。 4 【正确答案】 A 【试题解析】 前序遍历是指若二叉树为空树,则空操作。否则: 访问根结 点: 先序遍历左子树; 先序遍历右子树。中序遍历二叉树是指若二叉树为空树,则空操作。否则: 中序遍历左子树; 访问根结点; 中序遍历右子树。后序遍历二叉树是指若二叉树为空树,则空操作。否则: 后序遍历左子树; 后序遍历右子树; 访问根结点。因为根结点是在中间访问的,即中序遍历。 5 【正确答案】 C 【试题解析】 二分法查找首先用要查找的关键字 k与中间位置的关键字相比较,这个中间结点把线性表分成了两个子表,若比较结果相等,则查找完成:若不等,再根据 k与中间结点关键字的比较结
24、果确定下一步查找哪个子 表。这样递归下去,直到找到满足条件的结点,或者该线性表中没有这样的结点。本题中第 1次和 15比较;第 2次和 7比较;第 3次和 10比较;第 4次和 12比较,比较后结束,没找到。 6 【正确答案】 C 【试题解析】 在模块化设计中,要求将一个大程序按人们能理解的大小规模进行分解,使每个模块都能易于理解,各模块的功能尽量单一,各模块之间的联系尽量少。因此,选项 A错误。在自顶向下、逐步细化的设计过程中,是按照先全局后局部、先整体后细节、先抽象后具体的方法设计程序。因此,选项 B错误。在模块化程序设计中,每个模块 完成一个功能,相对独立,要求一个模块内部的控制结构也要
25、符合结构化原则。因此,选项 C正确。在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则,所以在程序设计过程中,要同时采用结构化程序设计方法与模块化程序设计方法。因此,选项 D错误。 7 【正确答案】 A 【试题解析】 确认测试是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。软件需求规格说明书就是软件确认测试的基础。 8 【正确答案】 B 【试题解析】 在对程序进行了成功地测试之后将进入程 序调试。调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发现软件的错误,然后借助调试工具去找出软件错误的具体
26、位置。由此可知,软件调试的目的是改正错误。 9 【正确答案】 B 【试题解析】 在关系模型中,无论是从客观事物中抽象出的实体,还是实体之间的联系,都用单一的结构类型关系来表示。在对关系进行各种处理之后,得到的还是关系, 张新的二维表。 10 【正确答案】 D 【试题解析】 数据库中的数据具有集成、共享的特点,可以被不同应用程序所使用, 减少相同数据重复存储的现象。 11 【正确答案】 B 【试题解析】 动态链接是 JVM的一个重要特征,所以选项 A是错误的;接口是用来实现多重继承的一个方法, Java通过这种方法来提高类继承的灵活性和扩展性,所以选项 C是错误的;选项 D错误,用类把 Java
27、的所有应用封装起来,是面向对象程序设计的基本思想;选项 B正确,访问权限是解释器在解释执行 Java程序时进行检查的,属于 Java安全机制。 12 【正确答案】 C 【试题解析】 选项 A, random()方法是 java.lang.Math类中提供 求随机数的方法:选项 B, abs()方法是 java.lang.Math类提供求绝对值的方法;选项 D, sin()方法是 java.lang.Math类提供的求正弦函数的方法;方法 drawLine()是 Graphics类提供的用来画直线的方法。 13 【正确答案】 D 【试题解析】 本题考查类的成员定义。 14 【正确答案】 A 【试
28、题解析】 本题考查关键词 this的用法。在类中除了可以声明成员变量外,还可以在方法体中声明局部变量,局部变量的作用域只在该方法的内部,当方法返回时,局部变量也就不 再存在。此外,如果局部变量的名称和类成员变量的名字相同,类成员变量就会被隐藏。如果方法中确实存在局部变量和类成员变量名字相同的情况,又需要在该方法中改变类成员变量的值,就需要使用 this关键字。this用在一个方法中用来引用当前对象,它的值是调用该方法的对象。 15 【正确答案】 D 【试题解析】 034代表八进制的数 34,即十进制数 28,十六进制的 1C。 34L表示长整型的数 34(十进制 )。 16 【正确答案】 B
29、【试题解析】 本题主要考查逗号运算符的运算规则。逗号运算符用于将多个表 达式串在一起,逗号运算符的左边总是不返回的,这就是说,逗号右边表达式的值才是整个表达式的值。逗号运算符的结合性为从左到右。由此就可以把表达式理解为 x=b=2。 17 【正确答案】 A 【试题解析】 Integer类是 int类型的包装类,其创建和使用方法和一般的类相似,因此答案为 A。 18 【正确答案】 D 【试题解析】 本题考查比较运算符 =的使用。比较运算符不仅可以用于基本数据类型的数据之间的比较,还可以用于复合数据类型的数据之间的比较。题中整型数 i和 j的值不同,故其 =比较的结果为 false。 s1和 s2
30、的值虽然都是 “how are you!”,但是由于它们是不同的对象,因此运算后的结果为 false。如果需要比较两个对象的值是否相同,则可以调用 equals()方法。 19 【正确答案】 C 【试题解析】 本题常见的错误答案是:字符数组 b初始化后,得 b5=,,执行b5=0后,用 0代替 b5中的 ,即可。最后输出整个字符串: Hello0you。下面是正确解答;在 C+语言中规定以字符 0作为字符串结束标志,语句 b5=0就相当于语句 b5=0,即在 数组 b的 b5上加了字符串结束标志,故执行该语句后,数组中存放的内容变为 Hello。 20 【正确答案】 A 【试题解析】 本题考查
31、对字符数组的初始化。 A选项中,数组 a在定义后紧跟初始化的情况下可省略数组长度,其最终数组长度由所赋字符串常量的长度给定, A选项是正确; B选项中, a是一个二维数组,二维数组也能在定义时被初始化。如果对全部元素都赋初值,则定义数组时第 1维的大小可以省略,但第 2维的大小不能省略,故 B选项是错误; C选项和 D选项都忽略了字符串的大小要比字符串中的字符数多 1这一点,造成了数组 的越界。故本题答案是 A。 21 【正确答案】 D 【试题解析】 本题考查 if-else语句的应用。从题中给出的代码段可以分析出来,当程序打印字符串 “second”时, x的取值范围为 (-3,0),即选择
32、 D。 22 【正确答案】 C 【试题解析】 本题考查对 for循环语句的理解。 i=1时, a=1+1=2, b=1+2=3。 i=2时, a=2+3=5, b=3+5=8。 i=3时, a=5+8=13, b=8+13=21。故本题答案选项是C。 23 【正确答案】 A 【试题解析】 本题考查循环 语句 do-while语句的执行情况。根据 do-while循环语句功能特点可得:首先无条件执行循环体,表达式 x一的值为 5,输出为 5, x的值变为 4,然后检查条件 (!x)为假 (false),则循环结束。 24 【正确答案】 B 【试题解析】 在正常情况下,打印 Test1、 Test
33、3、 Test4;在产生可捕获异常时,打印 Test2、 Test3、 Test4 在产生不可捕获异常时,打印 Test3,然后终止程序。注意 finally后面的语句总是被执行。 25 【正确答案】 B 【试题解析】 本 题是对线程机制的考查。选项 A错误, catch是用于捕获异常,并运行相应的处理程序;选项 B正确, finally语句实际上用于异常之外,也可以使用它在 return、 break或者循环内的 continue;选项 C错误, while用于循环语句,没有此功能;选项 D错误, try也没有此功能。由此可知本题的答案是 B。 26 【正确答案】 A 【试题解析】 在 Ja
34、va中,每一个对象都有锁。任何时候,该锁都至多由一个线程控制。由于 alias1与 alias2指向同一对象 Z,在执行第 11行前,线程拥有对象 z的锁。在执 行完第 11行后,该线程释放了对象 z的锁,进入等待池。但此后没有线程调用对象 Z的 notify()和 notifyAll()方法,所以该进程一直处于等待状态,没有输出。 27 【正确答案】 D 【试题解析】 在线程的同步过程中,不建议使用的有 stop()、 suspend()和resume()。 stop()强行终止线程的运行,容易造成数据的不一致; suspend()和resume()这两种方法使得一个进程可以直接控制另外一个
35、进程的执行,容易造成死锁。 28 【正确答案】 B 【试题解析】 此 题程序中类 Reentrant定义了两个带有 synchronized的方法,分别是 a()和 b()。在 Reentrant类的 main()方法中, Reentrant类的实例 r调用了方法 a(),在 a()中调用 b()。 a()的执行过程中,线程的控制将请求并获得 r的锁,并开始执行 a()方法。由 b()的定义可知,线程获得 r的对象锁才能运行该方法,而此时 r的锁已经由该线程获得,根据 Java对象锁的可重入性,该线程将再次获得 r的锁,并开始运行方法 b()。 29 【正确答案】 A 【试题解析】 本题考查
36、Java中布局 管理器的知识。布局管理器中流式布局管理器 (FlowLayout)的布局方式简单地将组件由左到右排列,排满一行,自动移到下一行。故本题答案是 A。 30 【正确答案】 C 【试题解析】 构件类是由 java.awt.Component给出的, java.awt.Container给出的是容器类, java.awt.Object是构件类的父类。 31 【正确答案】 C 【试题解析】 本题考查关于 Swing中对话框的基本知识。选项 A错误,ConfirmDialog确认对话框产生供用户选择 “是 ”、 “否 ”的对话框;选项 B错误,InputDialog输入对话框提出问题,并接
37、收用户输入的对话框;选项 C正确,选项对话框 OptionDialog综合了 ConfirmDialog、 InputDialog、 MessageDialog3种对话框类型的特点;选项 D错误, MessageDialog消息对话框显示一条信息。故本题答案是 C。 32 【正确答案】 D 【试题解析】 update()和 paint()方法都是用 Graphics类的实例作为参数,实现绘图的操作。 33 【正确答案】 B 【试题解析】 该题考查对 java包与 javax包的理解。 java包是最开始时 JDK1.0就有的了;而 javax包及其里面的子包都是后来陆续给扩充的, Swing包
38、是与AWT包相对应的关于抽象窗口工具的包,而 Japplet是与 Applet相对应的编写小程序时所必须要继承的类。故本题答案是 B。 34 【正确答案】 A 【试题解析】 选项 B的方法返回的是 Connection类的实例,选项 C的方法返回的是 Statement类的实例,选项 D的方法返回的是 ResultSet类的实例,只有选项A返回的是 Database MetaData类的实例,该类包含了数据库本身的信息。 35 【正确答案】 C 【试题解析】 MIDP为移动设备提供了用户界面、网络连接、本地数据存储和应用管理等要求,它是 Profile模块中负责移动设备的模块, PP、 PBP
39、、 CDC这 3个模块都是负责嵌入式设备的。 36 【正确答案】 非线性结构 【试题解析】 逻辑结构即数据元素之间的逻辑关系,是从逻辑关系上描述数据,与数据的存储无关。因此根据数据元素与数据元素之间的关系,逻辑结构被分为两大类:线性结构和非线性结构。而集合结构与非集合结 构、树形结构和图状结构指的都是特定的数据结构类型。 37 【正确答案】 后续结点 (后继结点 ) 【试题解析】 链式存储结构的结点中,只有一个指示直接后继的指针域,因此从某个点出发,只能顺指针往后寻查其他结点。若要寻查结点的直接前驱,则需要从表头指针出发,影响查找效率。为了克服单链表这种单向性的缺点,可利用双向链表。双向链表的
40、结点中,有两个指针域,其一指向直接后继,另一个指向直接前驱。 38 【正确答案】 计算机辅助软件工程 (CASE) 【试题解析】 CASE将各种软件工具、开发机器和一个存 放开发过程信息的中心数据库组合起来,形成软件工程环境。 39 【正确答案】 数据 【试题解析】 数据库是由一个互相关联的数据的集合和一组用以访问这些数据的程序组成,这些数据按一定的数据模型组织、描述和储存。 40 【正确答案】 耦合性 【试题解析】 模块的独立性是评价设计好坏的重要标准,衡量软件的模块独立性使用耦合性和内聚性两个定型的度量标准。内聚性是一个模块内部各个元素之间彼此结合的紧密程度。耦合性是模块间互相连接的紧密程
41、度。 41 【正确答案】 import .URL 【试题解析】 本题考查 Java语言中引入包的方法。引入所有直接公有类须在所引包名后加 *,而直接引用某个类只需直接引入包名即可。 42 【正确答案】 一变量 【试题解析】 本题考查赋值表达式的组成。在赋值运算符的左边是一变量,右边是一表达式。 43 【正确答案】 代码 【试题解析】 在 Java线程模型中,一个具体的线程是由虚拟的 CPU、代码和数据组成的,其中,数据和代码构成了程序中的线程体。 44 【正确答案】 2个 【试题解析】 在 Java中,字符是以 16位 Unicode码的形式表示的。 45 【正确答案】 访问同步 【试题解析】
42、 当一个线程在访问一个文件时,该文件被锁定,不允许其他线程访问,这样实现了同步访问。 46 【正确答案】 表格 【试题解析】 本题是考查 swing组件中的 JTable的基本用法。表格是 swing新增加的组件,主要功能是把数据以二维表格的形式显示出来。使用表格,依据 M-V-C的思想,最好先生成一个 MyTableModel类型的对象来表示数据,这个类是从 AbstractTableModel类中继承来的,其中有几个方法是一定 要重写的,例如getColumnCount、 getRowCount、 getColumnName、 getValueAt。因为 JTable会从这个对象中自动获取
43、表格显示所必需的数据, AbstractTableModel类的对象负责表格大小的确定 (行、列 ),内容的填写、赋值,表格单元更新的检测等等一切跟表格内容有关的属性及操作。 JTable类生成的对象以该 TableModel为参数,并负责将 TableModel对象中的数据以表格的形式显示出来。 JTable类常用的方法是: getModel(),该方法表 示获得表格的数据来源对象;JTable (TableModel dm),该方法的 dm对象中包含了表格要显示的数据。 下面两个构造方法,第 1个参数是数据,第 2个参数是表格第 1行中显示的内容。 JTable(ObjeotrowData
44、,objectcolumnNams) JTable(VectorrowData,VectorcolumnNams) 47 【正确答案】 JPanel pane=new JPane() 【试题解析】 本题考查项目事件及响应中的基 本知识。在 SelectItem()中给接收器添加 pick对象,并将 pick和 result添加到帧中。缺少创建 pane的语句。itemStateChanged(ItemEvent evt)中具体实现响应的方法, evt对象的 getSource()方法决定了事件的来源,当它等于 pick时做出响应。 Opera项是组合框中当前选择的项目。对象的 toString
45、()方法用于检索 getItem()所返回的对象文本。 48 【正确答案】 Applet 【试题解析】 Java语言种每个 Applet必须定义为 Applet的子类。 49 【正确答案】 main() 【试题解析】 该题考查对 Java应用程序 (Application)与小程序 (Applet)的理解。 Application带有 main()方法,可以独立解释执行,而 Applet则不行,它继承自系统的 Appld类,必须由浏览器或 appletviewer执行。 50 【正确答案】 tf.setEditable(false) 【试题解析】 通过调用 TextField构件的 setEditable( boolean b) 方法,可以设置文本区 的可编辑属性,参数 b为 false时,文本为不可编辑。