Java面向对象检验题
- 格式:doc
- 大小:105.00 KB
- 文档页数:22
Java面向对象 测试题(一)
注: 测试时间:3小时 编程题在电脑上编写,保存在已学生名字为文件名的文件夹中 . 一、 选择题 (共30分,每题1分) 1、 下面有关Java异常处理模型的说法错误的是()。 a) 一个try块只能有一条catch语句 b) 一个try块中可以不使用catch语句 c) Catch块不能单独使用,必须始终与try块在一起 d) Finally块不能单独使用,必须始终与try块在一起 2、 下列选项中关于Java中super关键字的说法错误的是()。 a) super关键字是在子类对象内部指代其父类对象的引用 b) super关键字不仅可以指代子类的直接父类,还可以指代父类的父类 c) 子类可以通过super关键字调用父类的方法 d) 子类可以通过super关键字调用父类的属性 3、 下列选项中关于Java中this关键字的说法错误的是()。 a) this是在对象内部指代对象自身的引用 b) this关键字可以在类中的任何位置使用 c) this只和特定的对象关联,而不和类关联 d) 同一个类的不同对象有不同的this 4、 在Java中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法。 . a) equals(Object obj) b) getClass() c) toString() d) trim()
5、 给定如下Java代码,关于super的用法,以下描述正确的是()。 class C extends B{ public C(){ super(); } } a) 用来调用类B中定义的super()方法 b) 用来调用类C中定义的super()方法 c) 用来调用类B的无参构造方法 d) 用来调用类B中第一个出现的构造方法
6、 在Java中,有如下两个类Student和Person。如果Student是Person的子类,则下列声明对象x的语句中错误的是()。 a) Person x = new Student() b) Person x = new Person() c) Student x = new Person() . d) Student x = new Student()
7、 下列对Java中的继承描述错误的说法是()。 a) 子类至少有一个基类 b) 子类可作为另一个子类的基类 c) 子类可以通过this关键字来访问父类的私有属性 d) 子类继承父类的方法访问权限保持不变
8、 Try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行? a) 不会执行 b) 会执行,在return前执行 c) 会执行,在return后执行 d) 会执行,可能在return前执行,也可能在return后执行
9、 下列属于方法重载好处的是()。 a) 实现多态 b) 方法名的复用 c) 提高程序运行速度 d) 使用方便,提高可读性
10、 面向对象方法的多态性是指()。 . a) 一个类可以派生出多个特殊类 b) 一个对象在不同的运行环境中可以有不同的变体 c) 拥有相同父类或接口的不同对象可以以适合自身的方式处理同一件事 d) 一个对象可以是由多个其他对象组合而成的
11、 Dog是Animal的子类,下面代码错误的是()。 a) Animal a = new Dog(); b) Animal a = (Animal)new Dog(); c) Dog d = (Dog)new Animal(); d) Object o = new Dog();
12、 下面定义Java的常量,正确的是()。 a) public static final double PI = 3.14; b) public final static double PI = 3.14; c) final public static double PI = 3.14; d) static public final double PI = 3.14;
13、 这段代码的输出结果是()。 try{ System.out.print(“try,”); return; . }catch(Exception e){ System.out.print(“catch,”); }finally{ System.out.pirnt(“finally”); } a) try, b) try,catch, c) try,finally d) try,catch,finally
14、 这个方法的返回值是()。 Public int count(){ try{ return 5/0; }catch(Exception e){ return 2*3; }finally{ return 3; } } a) 0 b) 6 . c) 3 d) 程序错误
15、 下面代码的运行结果是()。 public class Car{ public void run(){ System.out.println(“汽车在跑”); } } public class Benz extends Car{ public void run(){ System.out.println(“奔驰在跑”); } } public static void main(String[] args){ Car car = (Car)(new Benz()); car.run(); } a) 汽车在跑 b) 奔驰在跑 c) 无法编译 d) 运行时将抛出异常 . 16、 下面的异常处理代码的输出结果是() public static void main(String[] arg){ try{ int result = 6/0; System.out.print("try,"); } catch(ArithmeticException e1) { System.out.print("ArithmeticException异常,"); throw new Exception(); } catch(Exception e2) { System.out.print("Exception异常,"); } finally { System.out.print("finally"); } } a) 程序编译错误 b) ArithmeticException异常,finally c) ArithmeticException异常, Exception异常, finally d) try, ArithmeticException异常, Exception异常, finally . 17、 关于Java的接口,下面说法错误的是() a) 可以被继承 b) 可以只定义常量,而没有任何方法 c) 可以这样定义常量: public int EVEREST = 8848; d) 方法的参数不可以是接口
18、 能与public void methodA(){ }方法形成重载的有()。 a) private void methodA(){ } b) private int methodA(){ return 1;} c) public void methodA(int a){ } d) public void methodA() throws Exception{ }
19、 子类中能与父类public void methodA(int a){ }方法形成重写的有() 。 a) public int methodA(int a){return 1;} b) public void methodA(int a) throws Exception{ } c) private void methodA(int a){ } d) public void methodA(int b){ }
20、 关于构造方法,下面说法错误的是() a) 父类只有一个带参的构造方法,子类必须显示声明带参构造方法 . b) 子类无参构造方法中没有写super();不会调用父类无参构造方法 c) 子类无参构造方法不可以用super(int a);调用父类对应的带参构造方法 d) 实例化一个类的对象时,一定会先调用java.lang.Object的构造方法
21、 关于Java的异常和异常处理,下面说法错误的是()。选>. a) try/catch/finally块里都可以嵌套try/catch/finally b) 一个try可以对应多个catch c) 如果发生的异常没有被捕捉,异常将被系统忽略 d) 异常处理时可以只用try块。
22、 关于Java的继承,下面说法错误的是() a) 接口可以继承接口 b) 子类不可以继承父类的私有属性和私有方法 c) 所有类都是java.lang.Object的子类,但是不可以这样写:public class Earth extends Object{} d) 一个类不可以继承(extends)另一个类,同时又实现(implements)一个接口