admin 管理员组

文章数量: 1086019


2024年5月31日发(作者:使用sql写程序)

国家二级(JAVA)笔试模拟试卷151

(题后含答案及解析)

题型有:1. 选择题 2. 填空题

选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有

一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1. 下列选项中,不是一个算法的基本特征的是( )。

A.完整性

B.可行性

C.有穷性

D.拥有足够的情报

正确答案:A

解析: 算法具有可行性、确定性、有穷性和拥有足够的情报四个基本特征。

2. 数据结构中,与所使用的计算机无关的是数据的( )。

A.存储结构

B.物理结构

C.逻辑结构

D.物理和存储结构

正确答案:C

解析: 数据的一种逻辑结构可以对应多种存储结构,数据的存储结构可以

是顺序存储结构也可以是链式存储结构。数据的逻辑结构与计算机无关,只是抽

象地反映数据元素之间的逻辑关系。

3. 某二叉树共有60个叶子结点与50个度为1的结点,则该二叉树中的总

结点数为( )。

A.148

B.169

C.182

D.198

正确答案:B

解析: 本题考查二叉树的性质。叶子结点即度为0的结点,它总是比度为

2的结点多一个,所以,具有60个叶子结点的二叉树有59个度为2的结点。总

结点数等于个叶子结点加上59个度为2的结点再加上50个度为1的结点的和,

一共为 169个结点。

4. 下列数据结构中,能用二分法进行查找的是( )。

A.顺序存储的有序线性表

B.线性链表

C.二叉链表

D.有序线性链表

正确答案:A

解析: 二分法查找只适用于顺序存储的有序线性表,对顺序存储的非有序

线性表和线性链表,都只能采用顺序查找。

5. 设计程序时,应采纳的原则之一是( )。

A.程序的结构应有助于读者的理解

B.限制GOTO语句的使用

C.减少或取消注释行

D.程序越短越好

正确答案:A

解析: 程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者

理解。程序滥用GOTO语句将使程序流程无规律,可读性差;添加注释行有利

于对程序的理解,程序的长短要依据实际的需要而定,并不是越短越好。

6. 下列特征中不是面向对象方法的主要特征的是( )。

A.多态性

B.继承

C.封装性

D.模块化

正确答案:D

解析: 面向对象设计方法与面向过程设计方法有本质的不同,其基本原理

是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分

类性、多态性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设

计的特点。

7. 关于内存变量的调用,下列说法中正确的是( )。

A.私有变量只能被本层模块程序调用

B.私有变量能被本层模块和下层模块程序调用

C.局部变量不能被本层模块程序调用

D.局部变量能被本层模块和下层模块程序调用

正确答案:B

解析: 由系统自动隐含建立的变量是私有变量。私有变量的作用域是建立

它的模块及其下属的各层模块。局部变量只能在建立它的模块中使用,不能在上

层或下层模块中使用。当建立它的模块程序运行结束时,局部变量自动释放,局

部变量用LOCAL命令建立。

8. 最常用的一种基本数据模型是关系数据模型,它的表示应采用( )。

A.树

B.网络

C.图

D.二维表

正确答案:D

解析: 关系数据模型是属于数据库的一种最重要的数据模型,在关系数据

模型中,实体及实体间的联系都用二维表来表示。

9. 结构化程序设计的3种基本结构是( )。

A.过程、子程序和分程序

B.顺序、选择和循环

C.递归、堆栈和队列

D.调用、返回和转移

正确答案:B

解析: 程序的基本控制结构包括顺序、选择和循环。

10. SQL语言又称为( )。

A.结构化定义语言

B.结构化控制语言

C.结构化查询语言

D.结构化操纵语言

正确答案:C

解析: SQL语言的全称为StructuredQueryLanguage,它是一种介于关系代

数与关系演算之间的结构化查询语言,是一种面向数据库的通用数据处理语言规

范。它包含数据查询语言、数据操纵语言、数据定义语言和数据控制语言4个部

分。

11. JDK中,用( )命令对其源文件进行编译,生成字节码文件。

A.

B.

C.

D.

正确答案:B

解析: 本题考查JDK实用工具的使用。选项A错误,足Java语言

解释器,直接从类文件执行Java应用程序字节代码。可接受class文件并启动Java

虚拟机执行之;选项B正确,足Java语言编译器,将Java源代码转换

成字节码;选项C错误,是根据Java源代码及说明语句生成HTML,

文档;选项D错误,是反汇编器,显示编译类文件中的可访问功能和

数据,同时显示字节代码含义。

12. 以下叙述中不属于JAVA语言特点的是( )。

A.面向对象

B.可移植性

C.多线程

D.宏定义

正确答案:D

解析: 本题考查Java语言的基本特点。选项A正确Java最大的特点之一

是跨平台、面向对象:选项B正确,解释问A:选项C正确,多线程是Java的

一个主要特性,它使可执行程序具有同时保持几个线程执行的能力;选项D错

误,Java不支持宏定义。

13. 在JAVA语言中,封闭是借助于( )实现的。

A.对象

B.类

C.数组

D.成员

正确答案:B

解析: Java是一个完全面向对象的语言,利用类把对象的属性和方法封装

在一起,只对外界提供有限的接口。

14. Java对文件类提供了许多操作方法,能获得文件对象父路径名的方法

是( )。

A.getAbsolutePath( )

B.getParentFile( )

C.getAbsoluteFile( )

D.getName( )

正确答案:B

解析: 本题考查File类的基本知识。File类是通过文件名列表来描述一个

文件对象的属性,通过File类提供的方法,可以获得文件的名称、长度、所有路

径等信息,并且还可以改变文件的名称、删除文件等。

15. 下列各项中属于合法标识符的是( )。

A.myid/2

B.+void

C.-5

D._vacl

正确答案:D

解析: Java语言的标识符是以字母、下划线和符号$为首字符的字符串,首

字符后面可以跟字母、下划线、S和数字,且标识符是区分大小写的,标识符的

字符数没有限制。A选项中含有非法符号“/”,、故是错误的:B选项是以符号

“+”开始的字符串也不符合规则;同理,C选项也是错误的。

16. 下列各选项中属于Java保留字的是( )。

A.TRUE

B.NULL

C.FALSE

D.null

正确答案:D

解析: 在Java中,常量null、false、true都是小写的;所以A、B和C选

项中的字符串都不是Java的保留字。

17. 下列各项中代表八进制整数的是( )。

A.0XA6

B.0144

C.1840

D.-1E3

正确答案:B

解析: Java语言中八进制整数为整型常量中的一种,以0开始,后加数字

0~7组成。故只有B选项0144符合要求。

18. 下列代码的执行结果是( )。 PublicclassTest

{ Publicstaticvoidmain(Stringargs[]) { n(5/2);

n(100%3.0) } }

A.2和1

B.2和1.0

C.2.5和1

D.2.5和1.0

正确答案:B

解析: 由于5和2都是int型,所以语句n(5/2)的输出为2。

由于操作数3.0为double型(Java语言中浮点数的默认值为double型),所以结果

为double型,即1.0。

19. char类型被封装在( )中。

A.r

B.

C.n

D.ter

正确答案:D

解析: Java语言中,char。类型被封装在ter中。

20. 下面代码段的输出是( )。 if(5&7)0&

&5|2)n(“true”);

A.编译出错

B.5752

C.true

D.无任何输出

正确答案:A

解析: 本题考查对位运算符和逻辑运算符的理解。位运算符“&”和“|”

用于按位将两个数进行与和或的操作,两个操作数可以是整型、字节型、长整型

和短整型,但不能是浮点型数据。逻辑运算符&&只能对两个布尔型的数据进行

运算,返回的结果也是布尔型的。

21. 下列关于内部类的说法,正确的是( )。

A.内部类可以与它包含的类名相同

B.内部类只能使用它所在类的静态成员变量,不能使用它所在类的方法中

的局部变量

C.内部类可以用abstract修饰定义为抽象类,不能用pfivate或protected定

D.外部使用内部类时必须给出类的全名

正确答案:D

解析: 本题考查内部类的概念。在一个类的内部嵌套定义的类称为内部类,

它的类名在定义它的类或程序段中或在表达式内部可以匿名使用,外部使用它时

必须给出类的全名,所以选项D说法正确。内部类的类名不允许与它包含的类

名相同,选项A说法错误。内部类可以使用它所在类的静态成员变量和实例成

员变量,也可以使用它所在类的方法中的局部变量,选项B说法错误。内部类

不仅可以用abstract修饰定义为抽象类,也可用private或protected定义,选项C

说法错误。同时还要注意,内部类可作为其他类的成员,而且可访问它所在类的

成员,除static内部类外,不能在类中声明static成员。

22. 定义一个表示10个值为null的字符串数组,下面选项正确的是( )。

A.String[]a;

B.Stringa[];

C.chara[10][];

D.Stringa[]=new String[10];

正确答案:D

解析: 本题考查字符串数组变量的声明。选项A和选项B的效果是一样的,

都是用来定义一个字符串数组,但没有指明数组个数,不满足题目要求。选项C

是一个二维的字符数组,在C语言中,一个二维的字符数组就可以表示一个一

维的字符串数组,而在Java中,字符char是基本类型,字符串String则是以对

象的形式来表示的。选项D正确,它定义了一个含有10个元素的字符串数组,

如果没有给字符串数组赋值,则默认为null。

23. 有一个接口定义如下,下列选项中实现了该接口并且不是抽象的是

( )。InterhceA { intmethod1(int i); intmethod2(int j); }

正确答案:C

解析: 本题考查在Java中接口的实现。接口是一种只含有抽象方法或变量

的特殊的抽象类。在类的声明中用implements子句来表示一个类使用某个接口。

选项A在方法内没有参数值;选项B只是定义了一个类,并没有实现与A的接

口;选项C中使用关键字implements实现了该接口,这里接口中的方法并没有

使用abstract修饰,所以不是抽象的;选项D中extends是用来继承父类的,而

A并不是一个类,不能用extends。

24. 下面程序段的输出结果是( )。 classBase { inti;

Base( ) { add(1); } voidadd(intV) { i+=v; }

Voidphnt( ) { n(i); } } Class

EXtenSiOneXtendSBaSe { ExtensiOn( ) { add(2); }

voidadd(int v) { i+=v*2; } } public class TeSst

{ publicstatic voidmain(String argS[]) { bogo(new

Extension( )); } Static voidbogo(Base B) { (8);

( ); } }

A.9

B.18

C.20

D.22

正确答案:D

解析: 本题考查继承和构造函数的用法。首先要明确对一个类的继承是指

在父类的基础上构建了一个子类,子类继承了父类的方法和状态。题目所给程序

段创建的是Extension类的实例,在运行时,从main( )函数进入程序,所有调

用add( )方法的过程将始终和Extension类的add( )方法动态绑定。初始值:

i=0:创建实例newExtension( );先调用父类的默认构造函数 Base( ),并在

父类的默认构造函数中执行ada(1),i=0+1×2,所以i=2,再调用子类的默认构

造函数Extension( ),子类的默认构造函数中执行add(2),i=2+2×2,所以i=6;

执行add(S):i=6+8×2,因此,最终i=22,正确答案为选项D。

25. 通常我们使用( )方法来为一个部件注册事件监听器。

A.addXXXLiStener

B.XXXLiStener

C.ListenerXXX

D.XXXListeneradd

正确答案:A

解析: 本题考查事件监听器的概念。每类事件都有对应的事件监听器,监

听器是接口,根据动作来定义方法。 AWT的构件类中提供注册和注销监听器的

方法。注册监听器:publicvoidadd<ListenerType>(<ListenerType>listener);注

销监听器:publicvoidremove<ListenerType>(<ListenerType>listener)。由此可

见,选项A正确。

26. 下列的( )原始类型在使用流时可以互换。

A.byte和boolean

B.char和int

C.byte和char

D.String和char

正确答案:B

解析: 本题考查Java语言中字节类型的概念。在Java语言中,byte是字节

类型,用一个字节表示;boolean是布尔类型,用true和false表示,它们的表示

方法并不一样,也不提供它们之间的转换,选项A错误。Java内部用整数来表

示char,通常可以在方法调用和其他语句中互换使用char和int,选项B正确。

char用两个字节表示,byte字节类型用一个字节表示,Java内部也不允许互换使

用它们,选项C错误。String在Java语言中是一个类,它提供对字符串的一系

列操作,而char是Java语言中的一个基本类型,它不是一个类,两者有本质的

区别,故而它们是不能互换使用的,选项D错误。需要注意的是,在Java语言

中提供的类都是以大写字母开头,基本类型都用小写字母表示。

27. 下列关于HTML标记的说法,正确的是( )。

A.URLgetDocumentBase( )返回Applet主类的URL

B.URLgetCOdeBase( )返回包含Applet的HTML文件的URL

C.在HTML中不说明StringgetParameter(stringname)的参数,该方法将返回

“0”

D.HTML标记方法用于获取HTML文件中关于Applet的信息

正确答案:D

解析: 本题考查Applet中HTML标记方法。URLgetDocumentBase( )返

回包含Applet的HTML文件的URL,而不足返回Applet主类的URL,选项A

错误。URLgetCOdeBase( )返回Applet主类的URL,而不是返回包含Applet

的HTML文件的 URL,选项B错误。StringgetParameter(stringname)返回定义在

HTML文件的指定参数,如果指定参数在HTML中无说明,该方法将返回“null”,

而不是“0”,因此选项C错误。

28. 下列关于Applet的说法,正确的是( )。

A.它们能读写用户的文件系统

B.它们能与提供包含小程序的网页的站点之内的Intemet站点联系

C.它们能在阅读者的系统上运行任何程序

D.它们能加载存储在用户系统上的程序

正确答案:B

解析: 本题考查Java小程序安全限制的概念。因为Java小程序运行在Web

用户的系统上,所以对小程序所能完成的工作有一些严格的限制。它们不能读写

用户的文件系统,选项A说法错误.它们不能与提供包含小程序的网页的站点

之外的Intemet站点联系,选项B说法正确。它们不能在阅读者的系统上运行任

何程序,选项C说法错误。它们不能加载存储在用户系统上的程序,如可执行

程序和共享库。所有这些规则适用于运行在浏览器下的Java小程序,选项D说

法错误。

29. resume( )方法恢复( )线程的执行。

A.通过调用stop( )方法而停止的线程

B.通过调用sleep( )方法而停止运行的线程

C.通过调用wait( )方法而停止运行的线程

D.通过调用suspend( )方法而停止运行的线程

正确答案:D

解析: 本题考查resume( )方法的使用。在Thread的APl文档中的说明

是该方法恢复被挂起(suspended)的线程。该方法首先调用该线程的无参的check

Access( )方法,这可能在当前线程上抛出SecuntyExcepfion异常,如果该线程

足活着的(alive)但被挂起(suspend),它被恢复并继续它的执行进程。

30. 下列方法中能完成主类实例初始化工作的是( )。

A.start( )

B.stop( )

C.init( )

D.paint( )

正确答案:C

解析: 本题考查对Applet必须要重载的几个方法的理解。选项A错误,

start( )方法使得程序从初始态进入运行态,当浏览器从图标状态恢复为窗口

时,或者当用户离开包含Applet的主页后又再返回时,系统都会自动再执行一

遍start( )方法。选项B错误,stop( )方法是和start( )方法相对应的,当

浏览器变成图标或者是用户离开Applet所在页面时,浏览器都会调用stop( )

方法,该方法也是可以被多次调用的。选项C正确,当创建JavaApplet且第一

次使用支持Java的浏览器载入该Applet时,就会执行init( )方法,通常在这

方法中执行一次性的初始化操作。选项D错误,paint( )方法是画图时必须要

重载的方法。

31. 下面的( )关键字通常用来对对象加锁,从而使得对对象的访问是

排他的。

A.serialize

B.transient

C.synchronized

D.static

正确答案:C

解析: 本题考查Java中对象加锁的概念。Java是多线程的语言,多个线程

可以“同时”访问同一数据区,而在处理某些数据时不希望其他的线程修改那些

数据的值或者某些操作是不可打断的,要做到这个,可以使用synchronized关键

字声明这一点。

32. 下列程序中,若从键盘中输入的是大写字母C,则程序输出的结果是

( )。 .*;

publicclassExam{ publicstaticvoidmain(Stringargs[]){ intch=0;

n(“输入一个字符:”); try{ ch=( );

charch_A=‘A’,ch_Z=‘Z’; intdelta_c=(inoch_A+(int)ch_Z-ch;

n(“编码后的字符为:”+(char)delta_c); }

catch(IOExceptione){ tackTrace( ); } } }

A.C

B.Y

C.X

D.字母C的ASCII码的整型值

正确答案:C

解析: 本题考查考生阅读Java程序的能力。当使用h=( )

语句从键盘读入大写字母C赋给ch,此时 ch值为67,也就是字母C的ASCII

值。语句(int)ch A+(int)ch.Z-ch结果为88,ASCII码中的88相当于字母X,所以

输出为X,选项C正确。

33. 下面的程序执行后,屏幕上显示的应是( )。

publicclassExam{ publicstaticvoidmain(String[]args){ charcharl[]={‘t’,’e’

,’s’,’t’}; charchar2[]={‘t’,’e,’s’,’t’,’1’}; Strings1=newString(char1);

Strings2=newString(char2,0,4); n((S2)); } }

A.true

B.false

C.test

D.编译错误

正确答案:A

解析: 本题考查考生对字符数组的理解。首先可以通过字符数组来生成一

个字符串对象:String(char( )value)和

String(char[]value,intstartlndex,intnumChars),其中,startlndex指定字符串在数组

中的起始下标,numChars表示字符个数。然后再测试字符串是否相等,可调用

equals( )方法,两个字符串相等则返回true,否则返回false。题目中s1和s2

都是“test”,所以最后返回是true,选项A正确。

34. 下列命令中,以下( )命令能为远程对象生成stub和skeleton。

A.rmiregistry

B.serialver

C.rmic

D.rmid

正确答案:C

解析: 本题考查J2SDK的RMI命令。rmlreglstry命令是在当前主机的指定

端口上启动远程对象注册服务程序; serialver命令是返回serialVersionUlD的值;

rmlc命令为远程对象生成stub和skeleton;rmid命令可以激活系统守候进程,以

便能够在Java虚拟机上注册和激活对象。

35. java程序与数据库的连接机制是( )。

A.ODBC

B.JDBC

C.ODBCAPI

D.SQL/CLI

正确答案:B

解析: 本题考查Java程序与数据库的连接。JDBC(Java Data BaseConnectivity)

是Java程序与数据库连接的一种机制。在Java虚拟机中有个特殊模块

JDBCDriverManager,既负责管理针对各种类型数据库软件的JDBC驱动程序,

也负责和用户应用程序交互。

填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡上。注

意:以命令关键字填空的必须拼写完整。

36. 数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于

______。

正确答案:格式化模型

解析: 数据模型分为格式化模型与非格式化模型,层次模型与网状模型属

于格式化模型。

37. 排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排

序、______和选择排序。

正确答案:交换排序

解析: 常用的排序方法有交换排序、插入排序和选择排序三种。交换排序

包括冒泡排序和快速排序,插入排序包括简单插入排序和希尔排序,选择排序包

括直接选择排序和堆排序。

38. 软件结构是以______为基础而组成的一种控制层次结构。

正确答案:模块

解析: 采用模块化原理可以使软件结构清晰,不仅容易设计,也容易阅读

和理解。模块化使得软件容易测试和调试,因而有利于提高软件的可靠性,也有

利于软件的组织管理。大型程序可由不同的程序员编写不同的模块,还可以进一

步分配技术熟练的程序员编写较难的部分。

39. 栈中允许进行插入和删除的一端叫______;

正确答案:栈顶

解析: 栈是限定在表的一端进行插入和删除操作的线性表,在表中,允许

插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”。

40. 在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关

系,并且每一个______实际上对应一个处理模块。

正确答案:加工

解析: 数据流图是从数据传递和加工的角度,来刻画数据流从输入到输出

的移动变换过程,其中的每一个加工对应一个处理模块。

41. Java中的方法的参数传递是______调用。

正确答案:传值

解析: 本题考查Java中方法的参数传递。Java中的方法的参数传递是传值

调用,而不是地址调用,方法不能改变参数值,但可以改变变量值,两个对象之

间的参数字段不能相互交换。

42. Java语言中如果要使用某个包中的类时,需要使用______导入。

正确答案:import

解析: 本题考查包的导入和使用。首先用package语句说明一个包,该包

的层次结构必须与文件目录的层次相同,否则,在编译时可能出现找不到包的问

题。Java语言中包是编译器自动导入,其他包中的类必须用import导

入。

43. 执行下面的程序段,输出结果为______。publicclassQ

{ publicstaticvoidmain(Stringargv[]) { intanar[]=newint[5];

n(anar[0]); } }

正确答案:0

解析: 本题考查Java中数组的定义和初始化。在该方法里定义并动态初始

化了一个整型数组anar,由于没有赋初值,系统给默认的初始值是数组中的每个

元素全部为零。所以输出数组中的第一个元素anar[O]时,自然也是等于零。

44. 一个具体的线程是由______、代码和数据组成。

正确答案:虚拟的CPU

解析: 本题考查线程的概念。一个具体的线程是由虚拟的CPU、代码和数

据组成。其中代码与数据构成了线程体,线程的行为由线程体决定。虚拟的CPU

是在创建线程时自动封装进Thread类的实例中。

45. 使得线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于

可执行状态,随时可能再次分得CPU时间的方法是______。

正确答案:yield( )

解析: 本题考查线程阻塞的概念。yield( )方法使得线程放弃当前分得的

CPU时间,但是不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得

CPU时间。调用yield( )的效果等价于,调度程序认为该线程已执行了足够的

时间从而转到另一个线程。

46. 异常分为运行异常、捕获异常、声明异常和______。

正确答案:抛出异常

解析: 本题考查Java中异常的概念。异常类在Java程序中是一种比较特殊

的类,在使用之前必须先定义,按异常处理的不同可分为运行异常、捕获异常、

声明异常和抛出异常几种。

47. 以下程序计算1+1/3+1/5+…+1/(2N+1,直至1/(2N+1小于0.00001,请

在横线处将程序补充完整。publicclassSun{ public static void

main(Stringargs[]){ intn=1; double term,sum=1.0; do{ n=______;

term=1.0/n; sum=sum+term; } while(term>=0.00001);

n(n); n(sum); } }

正确答案:2*n+1

解析: 本题考查do-while循环的用法。题目中没有给出累加次数,故不能

使用for循环,在do循环中,由累加项term的值作为退出循环的条件,根据题

目要求,应该填写2*n+1,本题的关键点是while(term>=0.00001)语句,题目要

求计算直至 1/(2N+1)小于0.00001,所以term=1/(2N+1),因此n=2*n+1。

48. 创建一个显示“选项”的菜单项对象mi的正确语句是______。

正确答案:Menultem mi=newMenultem(“选项”);

解析: 本题考查Menultem的概念和应用。Menultem是菜单树中“叶子结

点”,通常被添加到一个Menu中,对于Menultem对象可以添加到ActionListener,

使其能够完成相应的操作。

49. 所有由Container派生的类称为______。

正确答案:容器

解析: 本题考查容器的概念。容器指所有由Container派生的类,可以包含

由Component派牛的任何类的对象,如Window类和Panel类都由容器类

Container直接派生而来;Frame继承自Window类;Panel类派生了Applet类,

其他容器还有面板Pane1、滚动条ScrollPane和选项面板OptionPane。

50. 下面ChangeTitle( )中对b1和b2按钮构造监听器,实现当单击b1

按钮时标题变为 students,当单击b2按钮时标题变为teachers。请将程序补充完

整。publicChangeTitle( ){ super(“TitleBar”); AcdtionListener(this);

JpanelpanexneWJpanel( ); (b1); (b2);

SetCOntentPane(pane); } public VOidaction

Performed(ActiOnEventev0{ Objectsourve=rce( ); if(SOUrve=

b1) setTitle(“Students”); elSeif(source==b2) SetTitle(“TeaCherS”);

repaint( ); }

正确答案:ionListener(this);

解析: 本题考查动作事件及响应的概念。在ChangeTitle( )中将接收器添

加到JButton对象,但从程序段中可知程序只给b1添加了接收器,没有给b2添

加接收器。actionPerformed(ActionEventevt)中对来自两个JButton对象的动作事

件做出响应,evt对象的getSource( )方法决定了事件的来源。如果它等于b1

按钮,则标题设置为Students:如果它等于b2,则标题设置为Teachers。需要调

用repaint( ),这样在方法中可能出现的标题改动之后可以重新绘制。


本文标签: 方法 程序 选项 考查