一、选择题(每小题2分,共30分)
1. 下面有关接口的说法,哪个是正确的( )
A、接口与抽象类是相同的概念 B、实现一个接口必须实现接口的所有方法
C、接口之间不能有继承关系 D、一个类不可以实现多个接口
2. 下列选项中不能作为程序入口的是( )。
A、static public void main(String args[])
B、public static int main(String args[])
C、public static void main(String args[])
D、public static void main(String contract[])
3. 类提供外界访问成员方法的权限,通常( )
A、成员数据是公有的,方法是公有的
B、成员数据是私有的,方法是公有的
C、成员数据是公有的,方法是私有的
D、成员数据是私有的,方法是私有的
4. java 语言中提供了用于网络工作的类和接口的包是( )。
A、java.net B、java.network
C、java.internet D、java.connect
5. 以下叙述中,不正确的是()。
A、在一个方法中,可以有多条return语句
B、方法的定义不能嵌套,但方法的调用可以嵌套
C、方法必须有返回值
D、不同的方法中可以使用相同名字的变量
6. 事件处理机制能够让图形界面响应用户的操作,主要包括()
A、事件 B 、事件处理
C、事件源 D、以上都是
7.下列那个选项可能包含菜单条?()
A、panel B、frame
C、applet D、Dialog
8. 运行下列程序的结果是( )
abstract class MineBase{
abstract void amethod();
static int i;
}
public class Mine extends MineBase
{
public static void main(String argv[]){
int ar[]=new int[5];
for(int i=0;i<ar.length;i++){
System.out.println(ar[i]);
}
}
}
A.打印5 个0
B.编译出错,数组ar[]必须初始化
C.编译出错,Mine应声明为abstract
D.出现IndexOutOfBoundes 的异常
9.Frame 的默认的布局管理器是下列哪一个( )
A.FlowLayout B.BorderLayont
C.GridLayout D.CardLayont
10. 当方法遇到异常时又不对异常捕获和处理,下列哪种说法是正确的( )
A.捕获异常 B.嵌入异常
C.声明异常 D.抛出异常
11、下面哪个是main()函数的合法参数( )
A、char args[]
B、char args[][]
C、String args[]
D、String args
12、编译,运行下列代码后的结果是( )
public class Test {
public static void main(String args []) {
int age;
age = age + 1;
System.out.println("The age is " + age);
}
}
A、编译、运行后没有输出
B、编译、运行后输出:The age is 1
C、能通过编译,但运行时产生错误
D、不能通过编译
13、从下面的布局管理器中选择按行放置控件、从左到右、从上到下,当一行装满时开始新的一行的布局管理器( )
A、 CardLayout
B、 FlowLayout
C、 BorderLayout
D、 GridLayout
14、在Java事件处理模型中,当按下鼠标按钮时,处理什么事件( )
A、 mouseReleased
B、 mouseExited
C、 mousePressed
D、 mouseDown
15、在Java中要创建一个只允许单行输入的文本域myVar,语句为()。
A、TextArea myVar = new TextArea( );
B、Text myVar = new Text( );
C、TextField myVar = new TextField(3, 10)
D、TextField myVar = new TextField( );
二、填空题(每空2分,共10分)
1.在Java中有一种叫作 (1) 的特殊方法,我们在程序中用它来对类的对象成员进行初始化.
2.java 有两类应用程序:Java Application和 (2) 。
3.创建事件源对象后,必须进行授权,注册该类事件的 (3)
4.如果一个类包含一个或多个abstract方法,它就是一个 (4) 类。
5.java语言通过接口支持 (5) 继承,使类继承具有更灵活的扩展性。
三、阅读程序题(每题5分 共10分)
1. 现有一个类定义如下:
import java.awt.Graphics;
import java.applet.Applet;
public class BreakTest extends Applet{
public void paint( Graphics g ){
int count, xPos = 25;
for ( count = 1; count <= 10; count++ ){
if ( count == 8 )
break;
g.drawString( " " + count, xPos, 25 );
xPos += 10;
}
}
}
问题:
1)程序的输出结果是什么?
2)方法调用语句:g.drawString( " " + count, xPos, 25 );的第一个实参中为什么要有空字符串 " " ?
2.现有一个类定义如下:
public class Tom{
private float weight;
private static String name;
public void setWeight(float weight){
this.weight=weight;
}
private void out()
{ System.out.println (name+"体重:"+weight+"斤");
}
public static void main(String[]args){
Tom.name="汤姆猫";
Tom cat=new Tom();
cat.setWeight(20);
cat.out();
}
}
问题:
3)程序运行的结果是什么?
4)为什么属性name可以用类名Tom来引用?
四、程序填空 (每题5分,共10分)
1、 写程序实现包括一个复选框的窗体,并处理用户选取事件。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
(1) //类声明,该类继承自JFrame类
{
private JCheckBox cbx;
private JLabel ll;
public MyCheck(){
Container c=getContentPane();
(2) //设置容器对象c的布局为FlowLayout
cbx = new Checkbox(“isPassed”);
label=new JLebel();
c.add(label);
c.add(cbx);
(3) //为组件cbx注册监听器
(4) //把窗体设为可见,并设置大小
}
public static void main(String[] args){
new MyCheck();
}
//定义内部类handle实现监听,相应的监听接口为ItemListener
(5) //声明内部类handle
{
public void itemStateChanged(ItemEvent e){
label.setText("你已选择了");
}
}
}
2、 定义一个抽象类AbstractTest,其中有一个公共的无返回值的抽象方法Show()。然后定义此抽象类的一个子类DefaultTest,包括的成员变量有姓名,学号,分数,且此类中包括二个构造方法。
abstract class AbstractTest{
(1) //声明抽象方法
}
(2) //声明子类
{
String name;
String id;
int score;
//接收三个参数的构造方法
(3)
//接收姓名和学号二个参数的构造方法
(4)
//实现抽象方法,方法体为打印出学生的姓名与成绩
(5)
}
五、编程(每题6分,共30分)
1. 编写一个输出"Hello World!"的程序,用两种方式实现(Application、Applet)。
2.由命令行给出半径,求圆的面积,并将结果输出。
3、用Applet程序画出如下图形:要求左边的正方形用黄颜色,中间的直线用蓝颜色,右边的正方形用红颜色。
4、创建一个框架(JFrame)对象窗口,并设置框架的标题为“XXX的窗口”、大小为宽200,高300及背景颜色:红色。XXX应为考生的姓名。
5、创建如图所示的窗口(不要求进行事件处理):