实用文档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)同一个类的不同对象有不同的this4、在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,finallyd)try,catch,finally14、这个方法的返回值是()。
Public int count(){try{return 5/0;}catch(Exception e){return 2*3;}finally{return 3;}}a)0b)6c)3d)程序错误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异常,finallyc)ArithmeticException异常, Exception异常, finallyd)try, ArithmeticException异常, Exception异常, finally17、关于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)实例化一个类的对象时,一定会先调用ng.Object的构造方法21、关于Java的异常和异常处理,下面说法错误的是()。
<多选>.a)try/catch/finally块里都可以嵌套try/catch/finallyb)一个try可以对应多个catchc)如果发生的异常没有被捕捉,异常将被系统忽略d)异常处理时可以只用try块。
22、关于Java的继承,下面说法错误的是()<多选>a)接口可以继承接口b)子类不可以继承父类的私有属性和私有方法c)所有类都是ng.Object的子类,但是不可以这样写:public class Earth extends Object{}d)一个类不可以继承(extends)另一个类,同时又实现(implements)一个接口23、阅读下面的代码,正确的说法是()Class Foo {int num;Baz comp = new Baz();}class Bar {Boolean flag;}class Baz extends Foo {Bar thing = new Bar();double limit;}a)Bar是Baz子类b)Foo 包含 Barc)Baz是Foo子类d)Foo是Baz子类e)Baz包含Bar24、作为Java应用程序入口的main方法,其声明格式是()A.public static int main(String args[]) B.public static void main(String args[])C.public void main(String args[])D.public int main(String args[])25、下面命令正确的是()A.java AppFirst.java B.java AppFirst C.java appfirst.class D.javac AppFirst26、下面哪个单词是Java语言的关键字()A.False B.FOR C.For D.for27、执行下面程序后,哪个结论是正确的()int a, b, c;a=1; b=3; c=(a+b>3 ? ++a : b++);A.a的值为2,b的值为3,c的值为1B.B.a的值为2,b的值为4,c的值为2C.a的值为2,b的值为4,c的值为1D.a的值为2,b的值为3,c的值为228、设有定义语句“int a[]={66,88,99};”,则以下对此语句的叙述错误的是()A.定义了一个名为a的一维数组 B.a数组有3个元素C.a数组的元素的下标为1~3 D.数组中的每个元素是整数29、下列类的声明中不合法的是。
A.class People(){…}B.class 植物{…}C.class A{…}D.public class 共有类{…}30、在JAVA 中,下列说法正确的是:。