当前位置:首页 > 《java程序设计》期末复习题
21.下面是定义一个接口A的程序,完成程序填空.(final \public interface A {
public static _______ double PI=3.14159;
public abstract double area(double a, double b)_____ }
22.在使用interface声明一个接口时,只可以使用( d )修饰符修饰该接口。 A、private B、protected C、private protected D、public 23.关于接口的定义和实现,以下描述正确的是: (A) A. 接口定义中的方法都只有定义没有实现
B. 接口定义中的变量都必须写明final和static
C. 如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统一的代码
D. 如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声明为public.
24. 下列关于抽象类的说法四个是正确的?C
A.某个抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法; B.接口和抽象类是同一回事; C.绝对不能用抽象类去创建对象; D.抽象类中不可以有非抽象方法。
练习十二(异常处理)
1、异常是一种运行时错误,在java中,异常是以对象的方法表示的,任何异常对象都是__________类或其子类的对象。(Throwable)
2、java把它能够识别的异常分为两大类:检查的和非检查的异常。非检查的异常是Error类和______________类的实例,它代表程序不必处理严重系统错误;检查异常是
____________类的子类,它代表程序应该而且能够处理的错误。(RuntimeException、 Exception)
3、Java的异常处理模型以3种操作为基础:声明异常、抛出异常和捕捉异常。当程序语句导致错误时,包含语句的方法将创建异常对象并把它传递到系统,这个过程称为_______________,查找异常处理程序的过程称为捕捉异常。(抛出异常) 4、java中的异常处理通过5个关键字来实现:它们是try、catch、throw、throws和finally。进行异常监测的代码要放在try子句内:捕获异常需要使用______________子句;在方法中宣布可能产生的异常应使用________________关键字。(catch、throws) 5、下列说法正确的是(D )
A. try-catch-finally代码块中的finally子句只有在try子句和catch子句都执行执行之后才执行
B. 如果try代码块中出现了异常并被catch子句捕捉到,那么finally子句就不再执行了 C. 只有try代码块中没有出现异常时,finally子句才会执行
D. 不管try代码块中是否出现异常,或者catch子句是否捕捉到异常,finally子句都将被执行
6、关于异常的应用,下列说法恰当的是( B )
17
A. 在java中,使用异常很方便、很有效,因而,只要能使用异常的地方应尽量使用异常 B. 在程序中过多的使用异常,会使程序的执行效率降低
C. 异常产生后,我们只需捕获它,至于是否对异常给与处理,无所谓 D. Java中的异常全部都被预先定义好了,程序员无需自行定义异常类 7、关于异常的捕获和处理,下列说法不正确的是( D )
A. 与一个try相关的catch语句可以有多个,但一个catch子句只能捕获一种类型的异常 B. 由内部try代码块产生的异常如果没有被与该try代码块相关的catch捕获,或者被JVM捕获和处理
C. 捕获资料异常的catch子句必须出现在捕获超类异常的catch子句的前面 D. 在一个try子句中产生的异常,必须由该try子句相关的catch子句捕获和处理,否则,就会造成程序非正常终止。
8、 当方法遇到异常又不知如何处理时,下列 C 做法是正确的。
A、捕获异常 B、抛出异常 C、声明异常 D、嵌套异常 9、下列常见的系统定义的异常中,哪个是数组越界异常?a A)ArrayIndexOutOfBoundsException B)IOException
C)NullPointerException D)ArithmeticException 10.public class ThrowsDemo { static void throwMethod() {
System.out.println(\ throw new IllegalAccessException(\ }
public static void main(String args[]) { try {
throwMethod();
} catch (IllegalAccessException e) { System.out.println(\ } } }
A.编译错 B.运行错 C.编译成功,但是没有输出结果 D.以上都不是 答案:A
11. 如果一个程序段中有多个catch,则程序会按如下哪种情况执行?C A找到适合的例外类型后继续执行后面的catch. B找到每个符合条件的catch都执行一次。
C找到适合的例外类型后就不再执行后面的catch。 D对每个catch都执行一次。
12. 下列代码行在执行时会出现一个运行时错误ArrayOutOfBoundsException,同时程序的执行终止。
cstObjects[ctr].displayDetails();
要避免上面提到的运行时错误你应该采取下列哪一个行动? d a. 在finally块中写入代码。
b. 使用throw 声明来发出异常警报ArrayOutOfBoundsException并且在catch块中捕获
18
同
一个异常。
c. 在try 块中写入代码并且在finally块中捕获异常ArrayOutofBoundsException。 d. 在try 块中写入代码并且在catch块中捕获异常ArrayOutofBoundsException。
练习十三(杂)
一、选择题。
2. main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )?
A、public static void main( )
B、public static void main( String args[] ) C、public static int main(String [] arg ) D、public void main(String arg[] ) 答:B
3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A、static void method( ) B、public void method( ) C、final void method( ) D、abstract void method( ) 答:A
4.Java Application源程序的主类是指包含有( )方法的类。 A、main方法 B、toString方法
C、init方法 D、actionPerfromed方法 答:A
5.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。
A、8 B、16 C、32 D、64 答:B
6.若a的值为3时,下列程序段被执行后,c的值是多少?( ) c = 1;
if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4; A、1 B、2 C、3 D、4 答:C
7.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。
A、import java.awt.* ; B、import java.applet.Applet ; C、import java.io.* ; D、import java.awt.Graphics ; 答:C
8.对于构造函数,下列叙述不正确的是( )。
A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 B、构造函数的返回类型只能是void型。
C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 答:B
9.设有下面两个类的定义:
class Person { class Student extends Person
19
{
long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){ } return score; } } 问:类Person和类Student的关系是( )。
A、包含关系 B、继承关系
C、关联关系 D、无关系,上述类定义有语法错误 答:B、
10. 设有下面的两个类定义: class AA {
void Show(){ System.out.println(“我喜欢Java!”); }
class BB extends AA {
void Show(){ System.out.println(“我喜欢C++!”); }
则顺序执行如下语句后输出结果为:( ) AA a; BB b; a.Show(); b.Show();
A、我喜欢Java! B、我喜欢C++! 我喜欢C++! 我喜欢Java! C、我喜欢Java! D、我喜欢C++! 我喜欢Java! 我喜欢C++! 答:A
11. 设有下面的一个类定义: class AA {
static void Show( ){ System.out.println(“我喜欢Java!”); } }
class BB { void Show( ){ System.out.println(“我喜欢C++!”); } }
若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:( )
A、a.Show( ) B、AA.Show( ); b.Show( ) BB.Show( ); C、AA.Show( ); D、a.Show( ); b.Show( ); BB.Show( ); 答:C
12.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( )。
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 答:C
13.在Java中,存放字符串常量的对象属于( )类对象。 A、Character B、String C、StringBuffer D、Vector
20
共分享92篇相关文档