2024年6月11日发(作者:)

课堂练习题二

JSP是SUN公司推出的一种动态网页技术标准。

Y

Java运行平台主要分为3个版本,其中J2EE主要用于移动应用开发。

N

Java运行平台主要分为3个版本,其中J2ME主要用于企业级的应用开发。

N

Java运行平台主要分为3个版本,其中J2ME主要用于移动应用开发。

Y

java语言中不用区分字母的大写小写。

N

java中可以使用goto语句,但不推荐使用。(不可以使用GOTO语句)

N

方法重载是多态性的一种。

用static修饰的变量是类变量。

Y

Y

如果源文件中省略了package语句,那么源文件中定义命名的类被隐含Y

地认为是无名包的一部分,即源文件中定义命名的类在同一个包中,但

该包没有名字。

系统自动引入包中的所有类,因此不需要再显示地使用importY

语句引入该包的所有类。

包是Java的核心类库,它包含了运行Java程序必不可少的系Y

统类。

如果使用import语句引入了整个包中的类,那么可能会增加编译时间。Y

但绝对不会影响程序运行的性能,因为当程序执行时,只是将真正使用

的类的字节码文件加载到内存。

在Java程序中,可以使用protected来修饰一个类。(不可以)

在Java程序中,可以使用private来修饰一个类。(不可以)

访问权限的级别排列,按访问权限从高到低的排列顺序是public、

N

N

Y

课堂练习题二

protected、缺省、private。

如果一个类的声明中没有使用extends关键字,这个类被系统默认为是Y

Object的直接子类。

如果一个成员变量被修饰为final的,就是常量,常量必须赋给初值,Y

而且不能再发生变化。

不允许使用final来修饰abstract方法。

对于abstract类,不能使用new运算符创建该类的对象。

Y

Y

子类如果想使用父类的构造方法,必须在子类的构造方法中使用,并且Y

必须使用关键字super来表示,而且super必须是子类构造方法中的头

一条语句。

如果在子类的构造方法中,没有使用关键字super调用父类的某个构造Y

方法,那么默认有super();语句,即调用父类的不带参数的构造方法。

为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口。

Y

接口中的方法默认是public abstract方法,所以类在实现接口方法时Y

必须给出方法体,并且一定要用public来修饰,而且接口中的常量默认

是public static常量。

Java提供的接口都在相应的包中,通过引入包可以使用Java提供的接口。Y

也可以自己定义接口,一个Java源文件就是由类和接口组成的。

如果一个类声明实现一个接口,但没有实现接口中的所有方法,那么这Y

个类必须是abstract类。

接口回调是指:可以把实现某一接口的类创建的对象的引用赋给该接口Y

声明的接口变量中。

课堂练习题二

如果一个方法的参数是接口类型,就可以将任何实现该接口类的实例的Y

引用传递给该接口参数。

类可以有两种重要的成员:成员变量和方法,类还可以有一种成员:Y

内部类。

匿名类的类体中不可以声明static成员变量和static方法。

Java的字符类型采用的是ASCII编码。

Y

N

Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特

Y

Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。

Y

Java源程序是由类定义组成的,每个程序可以定义若干个类,但只有一Y

个类是主类。

类在实现接口的方法时,必须显式地使用public修饰符。

System类不能实例化,即不能创建System类的对象。

Java中数组的元素只能是简单数据类型的量。

有的类定义时可以不定义构造函数,所以构造函数不是必需的。

类及其属性、方法可以同时有一个以上的修饰符来修饰。

一个Java类可以有多个父类。(只有一个父类)

Y

Y

N

N

Y

N

如果p是父类Parent的对象,而c是子类Child的对象,则语句c = pN

是正确的。

一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。

Y

一个类只能有一个父类,但一个接口可以有一个以上的父接口。

一个类只能有一个直接父类

Y

Y

课堂练习题二

一个类可以实现多个接口

一个接口可以继承其他接口

接口中的方法默认都是静态的(动态)

接口中的属性,都是静态常量

super关键字可以用来调用父类的构造函数。

如果构造函数中没有加super()语句,父类的构造函数将不被调用

所有异常都必须捕获

一个try语句可以有多个catch语句与之对应

异常也是一个对象

所有异常都继承自Throwable

用户可以自定义自己的异常类

可以使用throw语句来抛出异常

可以使用throws语句来定义方法有异常抛出

数组也是对象

Java语言中,变量名可以用汉字表示

Java源程序文件中是不区分字母的大小写的。

Y

Y

N

Y

Y

N

N

Y

Y

Y

Y

Y

Y

Y

Y

N

Java Applet的字节码文件必须嵌入HTML的文件中并由负责解释HTML文Y

件的WWW浏览器充当解释器来解释运行。

Java中数组的元素只能是简单数据类型的量。

使用方法length( )可以获得字符串或数组的长度。

N

N

课堂练习题二

数组的某个元素被传递给一个方法并被该方法修改,当被调用方法执行N

完毕时,这个元素中含有修改过的数值。

数组的下标通常是float型。(char)

一个数组可以存放不同类型的数值。( 只能放同类型的数值)

N

N

Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。

Y

用"= ="比较字符串对象时,如果字符串包含的是同一个值时,结果为

true。 (在java中只有1和0,没有true或者flase)

字符串在创建后可以被修改(字符串在创建之后就不能再被修改)

N

N

Java中的String类的对象既可以是字符串常量,也可以是字符串变量。

Y

设String对象s=”Hello ”,运行语句

n((“World!”));后String对象s的内容

为”Hello world!”,所以语句输出为Hello world!

java程序中用到的所有类都必须使用import语句(如包中的N

类不需要使用import)

包中的类不需要使用import

package语句必须放到java程序的最开始

Y

Y

N

一个类的非静态方法可以访问静态成员变量,一个类的静态方法不可以Y

访问该类的非静态成员变量。(只能非静访问静,静不能访问非静)

多个事件源可以注册同一个监听器,一个事件源也可能注册多个监听器。

Y

一个类如果声明为实现一个接口,则必须要实现接口中的所有抽象方法。N

(只要实现其中的某一个)

课堂练习题二

构造函数用来初始化类,静态初始化器用来初始化对象。(刚好相反,N

构造函数用来初始化对象)

实例变量只能通过对象名访问,类变量既可以通过某个对象名也可以通Y

过类名来访问。

抽象类中不能有private的成员,所有的抽象方法必须存在于抽象类中。

Y

在Java中可以通过FileInputStream类或FileWriter类打开文本文件N

进行写操作。(不能)

处理多异常时应注意设计各catch块的排列顺序,一般处理较具体和常Y

见的异常应放在前,可以与多种异常相匹配的应放在后。

Socket 类与 ServerSocket类是用Java实现流式Socket通信的主要工N

具,创建一个ServerSocket对象就建立了一个Client与Server间的连

接。

环境变量classpath的含义是指示类装载器到哪里去寻找第三方提供的Y

类和用户定义的类。

Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键N

字free。(释放)

对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属N

性与赋值对象相同的新对象。

Java的屏幕坐标是以像素为单位,浏览器的左上角被确定为坐标的起点.

N

抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。

N

final类中的属性和方法都必须被final修饰符修饰。

最终类不能派生子类,最终方法不能被覆盖。

N

Y

课堂练习题二

java中画圆和画椭圆使用的是相同的方法。(在java中画圆与画椭圆使Y

用的方法是一样的)

java中画圆和画椭圆使用的是两个不相同的方法。

在Applet的坐标系中,(0,0)代表浏览器左上角的像素点。

在Applet的坐标系中,(0,0)代表的是屏幕左上角的像素点。

N

Y

N

在Applet中显示一幅图像,首先要把它调入内存,保存在一个Image对Y

象中,然后调用drawImage()方法画出这个图像。

TextField和TextArea是用来接受用户输入的组件,但是也可以由程序Y

控制使用户不能在其中输入信息。

一个Checkbox对象既可以作为一个复选按钮,也可以作为一个单选按钮Y

组中的一个按钮。

使用BorderLayout的容器最多只能放置5个组件,如果要放置更多的组Y

件,则需要使用多层容器。

使用FlowLayout和GridLayout时,添加组件的次序与界面的最终外观Y

有关。

Scrollbar类的有参数构造函数共有五个形式参数,第一个表明是滚动条Y

的方向,第二个表明滑块的初始位置,最后两个表明滑块的最小和最大

值。

Scrollbar类的有参数构造函数共有五个形式参数,第一个表明滑块的初N

始位置,第二个表明滚动条的方向,最后两个表明滑块的最小和最大值。

调用画矩形方法需要给出的是矩形左上和右下角的坐标。

在Applet的坐标系中,(0,0)代表Applet左下角的像素点。

N

N

课堂练习题二

getImage()方法与drawImage()方法都是Image对象的方法。

TextArea中的字符也可以用'*'代替。

一个复选按钮实现的是“二选一”的结构,一个单选按钮组实现的是

“多选一”的结构。

List对象可以实现“多选一”结构,也可以实现“多选多”结构,完全Y

由创建List对象时的参数确定。

使用GridLayout布局策略的容器中,所有的组件都有相同的大小。

TextComponent可以响应文本区域或文本框中的回车,都拥有

addActionListener()这个方法。

drawOral(x,y,50,100)的前两个参数指定了椭圆的中心坐标。

在Java坐标系统中,从左向右x值增加。

fillPolygon方法用当前颜色画一个实心多边形。

drawArc方法允许负的角度。

像素坐标(0,0)位于屏幕的正中央。

BorderLayout是面板的缺省布局管理器。

当鼠标指针位于一个GUI构件上时,发生一个MouseOver事件。

一个面板不能被加入到另一个面板中。

在使用BorderLayout时,最多可以使用五个构件。

N

Y

Y

Y

N

N

N

N

Y

Y

N

N

N

Y

程序员在创建一个对话框时,至少必须创建一个菜单,并将它加入到对N

话框。

文本区域的文本总是只读的。

N

课堂练习题二

抽象类必须有抽象方法

一个java类只能有一个直接父类

一个java类可以实现多个接口

所有的抛出的异常都必须捕获

对话框分为模式和非模式

定义一个类在一个包当中要使用import语句

package语句必须放在类的最开始

包结构和目录结构是相同的。

覆盖只能在不同的类中完成

int[] ary=new int[0];这条语句是正确的。

Java应用程序与数据库的连接都是通过JDBC来实现的。

N

Y

Y

N

Y

N

Y

Y

Y

Y

Y

JDBC是Java中提供的连接各种不同数据库的通用技术,开发人员只要掌Y

握了JDBC的开发技术就可以对各种支持JDBC的数据库进行编程开发。

JDBC提供了一个应用程序连接多种数据库或在多种数据库之间进行切换Y

的可能。

JDBC的API中有一个称为JDBC驱动管理器的类,JDBC程序运行的过程Y

中由该管理器管理着不同类型数据库的驱动程序。

对于特别简单的应用程序,使用JDBC-ODBC桥是很方便的。

Y

通过JDBC-ODBC桥可以在不使用专用JDBC驱动的情况下方便地连接各种Y

数据库。

在使用JDBC连接特定的数据库之前,首先要加载相应数据库的JDBC驱Y

课堂练习题二

动类。

在使用e("驱动类全称类名"),加载数据库驱动时,可能抛N

出SQLException异常对象。

在Java程序中,若实现通过JDBC连接数据库,需要在程序中引入

包。

在Java程序中,要利用JDBC连接关系数据源,需要在程序的首部引入Y

包。

用e("驱动类全称类名")加载数据库驱动时,可能抛出

ClassNotFoundException类的异常。

DriverManager类的getConnection()方法,其第一个参数为:

jdbc:mysql://localhost:3306/test 则表明,是在连接MySql数据库系

统。

建立Statement对象的作用是保存查询结果。

建立ResultSet对象的作用是执行SQL语句。

建立ResultSet对象的作用是保存查询结果。

建立Statement对象的作用是执行SQL语句。

N

N

Y

Y

Y

Y

N

在利用JDBC编程接口完成数据库的访问任务后,应该关闭相关的对象,Y

释放资源。如:调用Connection、Statement、Resultset等对象的close()

方法,将其关闭。

使用RandomAccessFile类可以读写文件中任意位置的字节。

是系统的标准输出流。

Y

Y

课堂练习题二

是系统的标准输入流。

是系统错误流,其类型为PrintStream。

InputStream和OutputStream分别是字符输入输出流的基类。

Reader和Writer分别是字节输入输出流的基类。

InputStream和OutputStream分别是字节输入输出流的基类。

Reader和Writer分别是字符输入输出流的基类。

n()语句的作用是在结尾显示一个换行符。

系统输入流是System类的一个静态成员,名称为in。类型为

InputStream。

Java中所有的I/O都是通过流来实现的。

Java中I/O流是由包来实现的。

Y

Y

Y

Y

N

N

Y

Y

Y

Y

利用File类可以为操作系统文件创建一个File对象(目录或文件),Y

也可以访问指定文件的所有属性,包括它的完整路径名称、长度、文件

的最后修改时间,还可以建立目录和改变文件名称。

在Java中实现多线程,无论采用哪种方法,都需要创建Thread或其子Y

类对象,并编写run()方法的方法体.

Runnable接口中包含唯一的run()方法。

线程休眠的方法sleep(),其休眠时间是以秒为单位的。

终止线程就是让线程结束run()方法的执行进入死亡状态。

Y

N

Y

Thread类中的currentThread()方法返回当前正在使用CPU资源的线程。

Y

Thread类的run()方法与Runnable接口中的run()方法的功能和作用相Y

课堂练习题二

同,都用来定义线程对象被调度之后所执行的操作,都是系统自动调用

而用户程序不得引用的方法。

线程通过调用start()方法将启动该线程,使之从新建状态进入就绪队列Y

排队,一旦轮到它来享用CPU资源时,就可以脱离创建它的主线程独立

开始自己的生命周期了。

创建线程时,可以使用构造函数Thread(Runnable target),其中targetY

是实现了Runnable接口的对象。

URL对象调用openStream()方法可以返回一个输入流,该输入流指向URLY

对象所包含的资源。

包中的JEditorPane容器可以解释执行HTML文件。

Y

包中的InetAddress类对象含有一个Internet主机地址的域名Y

和IP地址。

客户端的程序使用ServerSocket类建立到服务器的套接字连接。

N

IP地址标识Internet上的计算机,端口号标识正在计算机上运行的进程。Y

端口号与IP地址的组合得到一个网络套接字。

客户负责建立客户到服务器的套接字连接,即客户负责呼叫。因此,服N

务器必须建立一个等待接收客户的套接字的Socket对象。

服务器端的Socket对象使用getOutputStream()方法获得的输出流将指Y

向客户端Socket对象使用getInputStream()方法获得的输入流。

基于TCP的通信和基于UDP的通信不同,基于TCP的信息传递更快,但N

不提供可靠性保证。

drawLine()方法,不仅能够绘制直线段,而且能绘制点。

Y

课堂练习题二

drawRect()方法绘制矩形,fillRect()方法绘制填充的矩形。

drawArc()方法能够绘制多边形。

drawPolygon()方法用来绘制圆弧。

drawOval()方法用来绘制多边形。

clearRect()方法用背景色填充指定矩形以达到清除该矩形的效果。

drawImage()方法用于加载图像,而getImage()方法用来绘制图像。

为了播放音频,必须首先获得一个AudioClip对象。可使用

getAudioClip()方法。

AudioClip类型对象的play()方法用于播放声音文件,而loop()方法用Y

于循环播放。

AudioClip类定义于包中。

JMF(Java Media Framework)提供了编写多媒体程序所必须的包

.

程序运行中可以改变数组的大小

数组允许存放不同类型的定长元素。

N

N

N

Y

Y

N

N

N

Y

N

Y

为了系统的安全,一般情况下Applet程序不能访问本地文件,只有通过Y

授权后才能读写。

Java语言中,原始数据类型变量是按地址传递的,引用类型变量是按值N

传递的。

在Java程序中,图像由一个Image类的对象来表示。

Y

包是Java语言用来构建图形用户界面(GUI)的类库,它包括Y

课堂练习题二

了许多界面元素和资源,主要在低级绘图操作、图形界面组件和布局管

理、以及界面用户交互控制和事件响应三个方面支持界面设计。

目前,Java的许多集成开发球境,大多是以SUN 的JDK开发工具集为基Y

础的。

目前,Eclipse是很受Java程序员欢迎的集成开发环境,它可以方便地Y

集成各种第三方开发的Plugin(插件)。

Java Applet程序是由SUN JDK工具包中的解释执行的。

N

Java Applet(Java小程序)需要嵌入到HTML格式的网页中,由浏览器内Y

置的Java解释器或由AppletViewer之类的模拟浏览器环境解释执行。

一个Java程序中至少包含一个类或接口。

Y

包是由系统自动加载完成的,而不需要在程序中用语句import Y

.*; 进行显式地加载。

Object是Java中所有类的共同父类。

Y

包是Java的实用工具包,日期时间类就是在此包中定义的。

Y

包中定义了许多与磁盘文件或文件夹操作有关的类。

语句 float f=3.1416;是正确的。

语句 float f=3.1416f; 是正确的。

语句 double d=3.1416;是正确的。

语句 char c='B';是正确的。

Y

N

Y

Y

Y

语句 char c=66;是错误的。因为c是char类型,而66是整型的, 所N

以类型不符。

课堂练习题二

语句段: int i=66; char c=i; 其中第二句是错误的,应改正为char Y

c=(char)i; 即做强制类型转换。

break语句只是用于从循环结构中退出,而continue语句则既可以从

switch语句也可以从循环结构中退出。

continue语句只是用于从循环结构中退出,而break语句则既可以从

switch语句也可以从循环结构中退出。

字节码文件是与平台无关的二进制码,执行时由解释器解释成本地机器Y

码。

Java源文件中可以有多个类,但只能有一个类是public的。

Y

Y

N

如果Java源文件中包含了多个类,那么用编译器javac编译完源文件后Y

将生成多个扩展名为.class的文件。

当Java应用程序中有多个类时,java命令后的类名必须是包含了mainY

方法的那个类的名字,即主类的名字。

以下程序段是正确的: public void paint(Graphics g)

{ ring("Hello,world!"); }

switch语句的case分支中,一般需要使用break语句用于从此分支中退Y

出。

以下语句段在编译时不会出错。 char c=' '; c=();

N

以下语句段能顺利通过编译。 int scores[]={82,76,53,91,67,95};

n(());

语句 n(4+8+"Hello,world!"); 的输出结果是

12Hello,world!

Y

N

N

课堂练习题二

语句 n(4+8+"Hello,world!"); 的输出结果是

48Hello,world!

语句 n("Hello,world!"+4+8);的输出结果是

Hello,world!48

语句 n("Hello,world!"+4+8);的输出结果是

Hello,world!12

语句n("Hello,world!"+(4+8)); 的输出结果是

Hello,world!12

语句n("Hello,world!"+(4+8)); 的输出结果是

Hello,world!48

设有代码如下: class FrameInout extends Frame implements

ActionListener { Button btn=new Button("ok"); FrameInout()

{ ....... add(btn); ionListener(this); ..... } public

void ActionPerformed(ActionEvent e){...} } 以上语句中的this是

指代btn(按钮)对象。

以下程序能顺利通过编译: public class am_I_right { public static N

void main(String args[]) { ng(); } String toString()

{ return "Hello,world!!"; } }

ssageDialog()方法一般用于弹出 输入对话框。

N

ssageDialog()方法一般用于弹出 消息对话框。

Y

putDialog()方法一般用于弹出 确认对话框。

putDialog()方法一般用于弹出 输入对话框。

N

Y

N

N

Y

N

Y

N

课堂练习题二

nfirmDialog()方法一般用于弹出 确认对话框。

Y

nfirmDialog()方法一般用于弹出 消息对话框。

N

tionDialog()方法一般用于确认用户给出的选项。

Y

tionDialog()方法一般用于 弹出消息对话框。

设有程序如下: public class jzh0319 { public static void

main(String args[]) { subClass sc=new subClass(); } } class

superClass { superClass() { n("父类");} } class

subClass extends superClass { subClass() {n("

子类"); } } 其输出结果只有一行。

设有程序如下: public class jzh0319 { public static void

main(String args[]) { subClass sc=new subClass(); } } class

superClass { superClass() { n("父类");} } class

subClass extends superClass { subClass() {n("

子类"); } } 其输出结果的第一行是子类。

设有程序如下: public class jzh0319 { public static void

main(String args[]) { subClass sc=new subClass(); } } class

superClass { superClass() { n("父类");} } class

subClass extends superClass { subClass() {n("

子类"); } } 其输出结果的第二行为:子类。

设有程序如下: public class jzh0319 { public static void

main(String args[]) { subClass sc=new subClass(); } } class

superClass { superClass() { n("父类");} } class

Y

Y

N

N

N

课堂练习题二

subClass extends superClass { subClass() {n("

子类"); } } 其输出结果的第一行是:父类

以下语句能顺利通过编译: abstract class class1 { } public class N

mainClass { public static void main(String args[]) { class1 cs1=new

class1(); } }

以下语句能顺利通过编译: final class class1 { } class class2

extends class1 { }

以下语句能顺利通过编译: class test { static void sayHello()

{ ng(); } public String toString() { return "大家

好!" ; } }

以下语句可以通过编译: class am_I_abstract { abstract void

method1(); }

以下语句可以通过编译: abstract class am_I_abstract { abstract Y

void method1(); }

以下语句是正确的: abstract final class class1 { }

N

N

N

N

以下语句能顺利通过编译: class class1 { private int i=5; //i为N

私有属性!! } public class class2 { public static void main(String

args[]) { class1 cs1=new class1(); n(cs1.i); } }

以下语句能顺利通过编译: class class1 { protected int i=5; //iY

为保护属性 } public class class2 { public static void main(String

args[]) { class1 cs1=new class1(); n(cs1.i); } }

被final修饰的属性其实是常量,在声明时要同时赋初值,并且不能再Y

课堂练习题二

改变它的值。

被final修饰的属性其实是常量,一般也同时被static修饰符 所修饰。

Y

final类中的方法默认也是final的。

被private所修饰的方法,一般也是final的。

以下语句能顺利通过编译: class class1 { private final void

method1() {} }

以下语句能顺利通过编译: class class1 { private final method1() N

{} }

以下程序能顺利通过编译: class student { String sno,sname; static N

void output() { ng(); } String toString() { return "

学号:"+sno+"姓名:"+sname; } }

设有程序如下: abstract class absclass { abstract void method1(); } N

class conclass extends absclass { public void method1()

{ n("子类");} } public class mainclass { public

static void main(String args[]) { absclass ac1=new absclass(); //

语句1 absclass ac2=new conclass(); //语句2 1(); //语

句3 } } 则main()方法中的第一条语句(即语句1)可以顺利通过编译。

设有程序如下: abstract class absclass { abstract void method1(); } Y

class conclass extends absclass { public void method1()

{ n("子类");} } public class mainclass { public

static void main(String args[]) { absclass ac1=new absclass(); //

语句1 absclass ac2=new conclass(); //语句2 1(); //语

Y

Y

Y

课堂练习题二

句3 } } 则main()方法中的第一条语句(即语句1)是错误的。

设有程序如下: abstract class absclass { abstract void method1(); } Y

class conclass extends absclass { public void method1()

{ n("子类");} } public class mainclass { public

static void main(String args[]) { absclass ac1=new absclass(); //

语句1 absclass ac2=new conclass(); //语句2 1(); //语

句3 } } 则main()方法中的第二条语句(即语句2)可以顺利通过编译。

设有程序如下: abstract class absclass { abstract void method1(); } N

class conclass extends absclass { public void method1()

{ n("子类");} } public class mainclass { public

static void main(String args[]) { absclass ac1=new absclass(); //

语句1 absclass ac2=new conclass(); //语句2 1(); //语

句3 } } 则main()方法中的第二条语句(即语句2)是错误的。

设有程序如下: abstract class absclass { abstract void method1(); } N

class conclass extends absclass { public void method1()

{ n("子类");} } public class mainclass { public

static void main(String args[]) { absclass ac1=new absclass(); //

语句1 absclass ac2=new conclass(); //语句2 1(); //语

句3 } } 则main()方法中的第三条语句(即语句3)中的method1()是指

absclass中定义的method1方法。

设有程序如下: abstract class absclass { abstract void method1(); } Y

class conclass extends absclass { public void method1()

课堂练习题二

{ n("子类");} } public class mainclass { public

static void main(String args[]) { absclass ac1=new absclass(); //

语句1 absclass ac2=new conclass(); //语句2 1(); //语

句3 } } 则main()方法中的第三条语句(即语句3)中的method1()是指

conclass中定义的method1方法。

Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。

Y

接口和类一样也可以有继承关系,而且都只能支持单继承。

N

所有类至少有一个构造方法,构造方法用来初始化类的新对象,与类同N

名,返回类型只能为void。

包是按照目录、子目录存放的,可以在程序中用package定义包,若没N

有package一行,则表示该文件中的类不属于任何一个包。

Java对事件的处理是采用委托方式进行的,即将需要进行事件处理的组Y

件委托给指定的事件处理器进行处理。

在异常处理中,若try中的代码可能产生多种异常则可以对应多个catchN

语句,若catch中的参数类型有父类子类关系,此时应该将父类放在前

面,子类放在后面。

在实例方法或构造器中,this用来引用当前对象,通过使用this可引用Y

当前对象的任何成员。

我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,Y

客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由

两部分组成:IP地址和端口号。

Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键N

课堂练习题二

字free。

当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个Y

程序不一定终止运行。

如果f是父类Flower的对象,而r是子类Rose的对象,则语句f=r是Y

正确的。(先有父亲才有儿子)

Java系统的标准输入对象是,标准输出对象有两个,分别是Y

和。

final类中的属性和方法都必须被final修饰符修饰。(不一定)

N

子类可以定义与父类同名的方法,称为方法的覆盖,方法覆盖要求子类N

的方法与父类的方法名字和参数都相同,但返回值类型可以不同。

Java语言是大小写敏感的。

构造函数和静态初始化器都可以对类的实例成员变量进行初始化

Y

N

修饰符protected主要是允许其他包中的子类来访问父类的特定属性

Y

abstract类中定义的方法只能是abstract方法

N

静态方法只能直接访问其他静态方法或静态成员变量。当对象已存在时,Y

调用静态方法时的前缀既可以是类名,也可以是对象名

如果抽象类的某个抽象方法没有被它的子类给出具体实现,则这个子类Y

也必须定义成抽象类

Java中允许子类对父类中的同名方法重新定义,但不允许子类对自身已N

有的同名方法重新定义

程序运行时所产生的系统定义的异常将自动被抛出

Y

课堂练习题二

接口间允许多重继承,类之间只允许单一继承(接口可以多重继承,而Y

类只可以单一继承)

Java中类和方法都不允许嵌套定义

Java中char类型采用Unicode编码,每个字符占2个字节

静态成员变量是一个公共的存储单元,可以为类的所有对象所共有

static方法中也可以处理非static成员变量

public修饰符不会造成安全性和数据封装性的下降,所以可以不限制

public数据成员变量的使用

Java语言只能支持类之间的单一继承,即所有的类有且只有一个直接父N

创建包将在当前文件夹下创建一个与包名相同的子文件夹,以存放该包Y

中包含的所有类的.class文件

Java中接口内部只允许包含变量和抽象方法

监听器类负责处理特定事件,它是一个实现了相应监听器接口的类

N

Y

N

Y

Y

N

N

如果声明要实现某接口的类没有实现该接口中的所有抽象方法,则该类Y

必须声明为抽象类

Java程序中只能通过创建Thread类的子类实现多线程,而无其他途径

N

Applet与Application程序的编译方法和运行方式都不同

abstract可以与final同时修饰同一个类

N

N

一个子类对象可以被视为是其父类的一个对象,因此如果一个方法的形Y

参定义的是父类对象,调用该方法时可以使用子类对象作为实参

课堂练习题二

语句“import .*;”不仅会加载包中的所有类,而N

且还会加载包的子包中含有的类

一个事件源可以注册多个监听器类

构造函数名应与类名相同,返回类型为void

Y

N

拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法

Y

静态初始化器是在其所属的类加载内存时由系统自动调用执行

Y

在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了N

一个各属性与赋值对象相同的新对象

接口定义好之后,也可以作为一种数据类型来使用

Y

Java 1.1中的事件处理模型要求事件监听器要在事件源中注册,并且要Y

实现相应的事件监听器接口

Java的异常处理机制中,try语句块中catch或finally至少要出现一Y

Java中允许一个类可以直接继承若干个超类中的成员变量和方法

N

Java中同一个类的多个对象将独立拥有该类定义的静态成员变量的一个N

拷贝

java源程序中定义几个类,编译结果就生成几个以.class为后缀的字节Y

码文件

Java Applet是由独立的解释器程序来运行的

N

Java Application既可以工作在字符界面下,又可以工作在图形界面下

Y

Java中,并非每个事件类都只对应一个事件

Y

课堂练习题二

Java Applet的字节码文件必须嵌入HTML的文件中并由负责解释HTML文Y

件的WWW浏览器充当解释器来解释运行。

Java Applet是由独立的解释器程序来运行的。

Java Applet只能在图形界面下工作。

Java Application只能在图形界面下工作。

Vector类中的对象不能是简单数据类型。

N

Y

N

Y

Java中的String类的对象既可以是字符串常量,也可以是字符串变量。

N

用户自定义的图形界面元素也可以响应用户的动作,具有交互功能。

N

一个类只能有一个父类,但一个接口可以有一个以上的父接口。

无论try{}块中的代码是否抛出异常,finally子句都会执行。

Y

Y

finally子句适合处理一些清理工作,比如释放资源,关闭数据库连接等。

Y

Java程序是由若干类定义组成的,类定义包括定义类头和定义类体.

Y

Class1类的属性被private修饰符修饰为私有变量,所以方法不能访问N

它.

类头定义主要说明类的名字、父类名和接口名。

一个程序里有且只能有一个公共类,它就是主类。

类的修饰符有静态修饰符static、最终修饰符final、易失修饰符

volatile和过渡修饰符transient.

引用一个类的属性或调用其方法,必须以这个类的对象为前缀。

N

N

Y

N

创建新的类对象使用关键字new,回收无用的类对象使用关键字free.

N

对象可以赋值,只要使用赋值号即可,相当于生成了一个各属性与赋值N

课堂练习题二

对象相同的新对象。

有的类定义时可以不定义构造函数,所以构造函数不是必需的。(一定N

要,没有就默认提供)

类及其属性、方法可以同时有一个以上的修饰符来修饰。

Y

没有定义访问控制符的类属性和类方法可以被同一个包中的其他类和对N

象访问。

与未加访问控制符的缺省情况相比,public和protected修饰符扩大了Y

类及其属性和方法的被访问范围,private修饰符则缩小了这种范围。

抽象类没有具体对象,所以抽象类没有构造函数。

抽象类中的抽象方法必须在该类的子类中具体实现。

N

N

抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。

N

final类中的属性和方法都必须被final修饰符修饰。

最终类不能派生子类,最终方法不能被覆盖。

以下声明是错误的: abstract final class OurClass{ }

以下语句是正确的。 Label prompt= Label("请输入数据:");

以下的变量声明是正确的。 final MAX_NUMBER;

以下的语句是正确的。 final int MAX_NUMBER=20; MAX_NUMBER++;

N

Y

Y

N

N

N

以下类的定义是正确的。 class MyClass { int var=100; static int N

getVar() { return var; } }

以下程序是正确的。 public class MyMain { public static void

main(String args[]) { n(); } }

N

课堂练习题二

class MyClass1 { int data=10; }

以下程序是正确的。 public class MyMain { IamAbstract ia=new N

IamAbstract(); } abstract class IamAbstract { IamAbstract(){} }

以下程序是正确的。 class IamAbstract { final int f; double d; N

abstract void method1(); }

Classpath环境变量设置中的".;"是指可以加载应用程序当前目录及其Y

子目录中的类。

如果只想运行别人的Java程序可以只安装Java运行环境JRE。

JRE由Java虚拟机、Java的核心类,以及一些支持文件组成。

Y

Y

当Java应用程序中有多个类时, 命令后的类名必须是包含了Y

main方法的那个类的名字,即主类的名字。

一个Java Applet不再需要main方法,但必须有且只有一个类扩展了

Applet类,把这个类叫做这个Java Applet的主类。

JSP是Java Server Pages的缩写,是由Sun公司在1999年推出的一种Y

动态网页技术标准。

Java采用"数组的数组"定义多维数组,一个二维数组是由若干个一维数Y

组组成的。

数组的下标是从0开始的,因此数组若是7个元素,下标到6为止。

以下语句存在语法错误: if(x>0) y=10; z=20; else y=-100;

以下语句语法是正确的. if(x>0) y=10; z=20; else y=-100;

以下语句存在语法错误: if(x>0) { y=10; z=20; } else y=100;

Y

Y

N

N

Y

课堂练习题二

以下语句语法是正确的: if(x>0) { y=10; z=20; } else y=100;

drawOral(x,y,50,100)的前两个参数指定了椭圆的中心坐标。

Y

N

Java目前支持两种格式的图象文件,它们的扩展名分别为.jif和.jpg。 N

Java的屏幕坐标是以像素为单位,容器的左上角被确定为坐标的起点。

Y

一个容器中可以混合使用多种布局策略。

所有的鼠标事件都由MouseListener监听接口的监听者来处理。

Java中,并非每个事件类都只对应一个事件

N

Y

Y

容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。

N

Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。

N

Vector类中的对象不能是简单数据类型。

N

创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中N

应注意不能超越这个数值。

根据流的方向,可以分为输入流和输出流。

Reader类用来以字符方式从流中读取数据。

Writer类用来以字符的方式向输出流中写入数据。

流是在计算机的输入、输出操作中流动的数据序列。

Y

Y

Y

Y

要对键盘按键响应,需要对KeyEvent事件监听。KeyEvent事件监听器是Y

实现KeyListener接口的类对象。

要响应关闭窗口操作,需要对WindowEvent事件监听.WindowEvent事件Y

监听器是实现WindowListener接口的类对象。

在actionPerformed()方法中,通过getSource()方法判断引起Y

课堂练习题二

ActionEvent事件的事件源。