Java复习题
第4-7章 面向对象程序设计
一、选择题
1. 下列不属于面向对象编程的三个特征的是 A. 封装 B. 指针操作 C. 多态性 D. 继承
2. 在Java接口中,下列选项中有效的方法声明是(AB)。(选择二项) A、public void aMethod(); B、void aMethod();
C、protected void aMethod(); D、private void aMethod(); 3. 下列类的定义,错误的是
A. public class test extends Object{ …… }
B. final class operators{ …… }
C. class Point{ …… }
D. void class Point{ …… }
4. 关键字supper的作用是
A. 用来访问父类被隐藏的成员变量 B. 用来调用父类中被重载的方法 C. 用来调用父类的构造函数 D. 以上都是
5. 下面程序定义了一个类,关于该类说法正确的是 abstract class abstractClass{ …… }
A. 该类能调用new abstractClass(),方法实例化为一个对象 B. 该类不能被继承
C. 该类的方法都不能被重载 D. 以上说法都不对
6. 关于对象的删除,下列说法正确的是
1
Java复习题
A. 必须由程序员完成对象的清除
B. java把没有引用的对象作为垃圾收集起来并释放
C. 只有当程序中调用System.gc()方法时才能进行垃圾收集 D. java中的对象都很小,一般不进行删除操作。 7. 下列说法正确的是
A. java中包的主要作用是实现跨平台功能 B. package语句只能放在import语句后面
C. 包(package)由一组类(class)和接口(interface)组成 D. 可以用#include关键词来标明来自其它包中的类; 8. 关于构造方法,下列说法错误的是 A. 构造方法不可以进行方法重写
B. 构造方法用来初始化该类的一个新的对象 C. 构造方法具有和类名相同的名称 D. 构造方法不返回任何数据类型 9. 请将程序补充完整 1.__abstract_____ class C 2.{
3. abstract void callme() 4. void metoo 5. {
6. System.out.println(“类C的metoo()方法”); 7. } 8. }
9. class D_extends______C 10. {
11. void callme() 12. {
13. System.out.println(“重载C类的callme()方法”); 14. } 15. }
16. public class Abstract 17. {
18. public static void main(String args[]) 19. }
20. C c=___new_______D(); 21. c.callme(); 22. c.metoo(); 23. } 24. }
10.以下关于抽象类和接口的说法错误的是( )
A、抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。但是一个类却可以实现多个接口。
B、在抽象类中可以没有抽象方法
2
Java复习题
C、实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。接口中的方法都不能被实现
D、接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
E、接口中的方法都必须加上public关键字。
二、填空题
1. 把对象实例化可以生成多个对象,使用____new_____运算符为对象分配内存空间。 2. java程序引入接口的概念,是为了弥补只允许类的__单继承______的缺憾。
3. java语言以___类____为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。
4. 抽象方法只能存在于抽象类中。抽象方法用关键字___abstract_____来修饰。 5. java语言中__object_____是所有类的根.
6. 在java中有一种叫做_构造函数______特殊方法,在程序中用它来对类成员进行初始化. 7. new是__创建____对象的操作符.
8. 继承主要强调子类在父类的基础上取”长”补”短”,而__多态性____主要强调的是类与类之间的传输
9. 我们在java程序中,把关键字___super_____加到方法名称的前面,来实现子类调用父类的方法
10. 定义一个类包括定义类头和定义__类体____两个部分
11. 在java程序里,同一类中重载的多个方法具有相同的方法名和_不同____的参数列表.重载的方法可以有不同的返回值类型
12. java是面向对象语言,对象是客观事物的__实体_____,对象与之是一一对应的,它是很具体的概念.
13. java语言通过接口支持___多___继承,使类继承具有更灵活的扩展性 14. 一个对象的生命周期包含三个阶段:生成, __使用____ 和清除
15. java语言中,调用方法时,参数传递是__值____调用,而不是地址调用 16. 接口是一种只含有抽象方法或__常量____的一种特殊抽象类
17. 创建一个类就是创建一个新的数据类型,而类在java中属于___复合___数据类型。 18. abstract方法___不能_____(不能或能)与final并列修饰同一个类 19. 如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的_参数个数_______必须是不同的,这种现象称为方法的重载。
第8章 异常处理
一、选择题
1.java中用来抛出异常的关键字是 A.try B.catch C.throw
3
Java复习题
D.finally
2.关于异常,下列说法正确的是 A.异常是一种对象
B.一旦程序运行,异常将被创建
C.为了保证程序运行速度,要尽量避免异常控制 D.以上说法都不对
3.()类是所有异常类的父类。 A.Throwable B.Error
C.Exception D.AWTError
4.java语言中,下列哪一子句是异常处理的出口 A.try{…}子句 B.catch{…}子句 C.finally{…}子句 D.以上说法都不对
5.下列程序的执行,说法错误的是 class MultiCatch {
public static void main(String args[]) { try {
int a=args.length; int b=42/a; int c[]={1}; c[42]=99;
System.out.println(“b=”+b); }
catch(ArithmeticException e) {
System.out.println(“除0异常:”+e); }
catch(ArrayIndexOutOfBoundsException e) {
System.out.println(“数组超越边界异常:”+e); } } }
A.程序将输出第15行的异常信息 B.程序第10行出错
C.程序将输出“b=42”
D.程序将输出第19行的异常信息 6.下列程序的执行,说法正确的是
4
Java复习题
class ExMulti {
static void procedure() { try {
int c[]={1}; c[42]=99; }
catch(ArrayIndexOutOfBoundsException e) {
System.out.println(“数组超越界限异常:”+e); } }
public static void main(String args[]) { try {
procedure();
int a=args.length; int b=42/a;
System.out.println(“b=”+b); }
catch(ArithmeticException e) {
System.out.println(“除0异常:”+e); } } }
A.程序只输出第12行的异常信息 B.程序只输出第26行的异常信息 C.程序将不输出异常信息
D.程序将输出第12行和第26行的异常信息
7.下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。 class TrowsDemo {
static void procedure() throws IllegalAccessExcepton {
System.out.println(“inside procedure”);
throw_______IllegalAccessException(“demo”); }
public static void main(String args[]) { try
5