Java面向对象测试题(一).doc

上传人:wux****ua 文档编号:9583620 上传时间:2020-04-06 格式:DOC 页数:22 大小:64KB
返回 下载 相关 举报
Java面向对象测试题(一).doc_第1页
第1页 / 共22页
Java面向对象测试题(一).doc_第2页
第2页 / 共22页
Java面向对象测试题(一).doc_第3页
第3页 / 共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) 同一个类的不同对象有不同的this4、 在Java中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法。a) equals(Object obj)b) getClass()c) toString()d) trim()5、 给定如下Java代码,关于super的用法,以下描述正确的是()。class C extends Bpublic 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、 这段代码的输出结果是()。trySystem.out.print(“try,”);return;catch(Exception e)System.out.print(“catch,”);finallySystem.out.pirnt(“finally”);a) try,b) try,catch,c) try,finallyd) try,catch,finally14、 这个方法的返回值是()。Public int count()tryreturn 5/0;catch(Exception e)return 2*3;finallyreturn 3;a) 0b) 6c) 3d) 程序错误15、 下面代码的运行结果是()。public class Carpublic void run()System.out.println(“汽车在跑”);public class Benz extends Carpublic 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异常, 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/finallyb) 一个try可以对应多个catchc) 如果发生的异常没有被捕捉,异常将被系统忽略d) 异常处理时可以只用try块。22、 关于Java的继承,下面说法错误的是()a) 接口可以继承接口b) 子类不可以继承父类的私有属性和私有方法c) 所有类都是java.lang.Object的子类,但是不可以这样写:public class Earth extends Objectd) 一个类不可以继承(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方法,其声明格式是()Apublic static int main(String args) Bpublic static void main(String args) Cpublic void main(String args) Dpublic int main(String args) 25、下面命令正确的是( )Ajava AppFirst.java Bjava AppFirstCjava appfirst.class Djavac AppFirst26、下面哪个单词是Java语言的关键字( )AFalse BFOR CFor Dfor27、执行下面程序后,哪个结论是正确的( ) int a, b, c; a=1; b=3; c=(a+b3 ? +a : b+);A a的值为2,b的值为3,c的值为1 B Ba的值为2,b的值为4,c的值为2Ca的值为2,b的值为4,c的值为1 Da的值为2,b的值为3,c的值为228、设有定义语句“int a=66,88,99;”,则以下对此语句的叙述错误的是( )A定义了一个名为a的一维数组 Ba数组有3个元素Ca数组的元素的下标为13 D数组中的每个元素是整数29、下列类的声明中不合法的是 。Aclass People()Bclass 植物 Cclass ADpublic class 共有类30、在JAVA 中,下列说法正确的是: 。A一个子类可以有多个父类,一个父类也可以有多个子类B一个子类可以有多个父类,但一个父类只可以有一个子类C一个子类只可以有一个父类,但一个父类可以有多个子类D上述说法都不对2、 分析下列程序(共20分,每题2分)1、class AclassAclass()System.out.print(“Aclass”);public class Bclass extends Aclasspublic Bclass()super();System.out.println(“Bclass”);public static void main(String args)Aclass a = new Aclass();Aclass a1 = new Bclass();该程序的运行结果()2、Class Superpublic int i=0;/有参数构造方法,无参数构造方法自动消失public Super(String text)i = 1;public class Sub extends Superpublic Sub(String text)i=2;public static void main(String args)Sub sub = new Sub(“Hello”);System.out.println(sub.i);该程序的结果是()。3、分析下列程序:public class Superpublic int getLength()return 4;public class Sub extends Superpublic int getLength()return 5;public static void main(String args)Super sooper = new Super();Sub sub = new Sub();System.out.println(sooper.getLength()+”,”+sub.getLength();4、分析下列程序:class Apublic int getNumber()return 1;class B extends Apublic int getNumber()return 2;public static void main(String args)A b = new B();System.out.println(b.getNumber();该程序的结果是()。5、public class ExamA private static int arr = new int5; public static void main(String args) for(int i=arr.length-1;i=0;i-) arri = 2*i+1; String output = 0; int sum = 0; for(int i=0;iarr.length;i+) sum += arri; output += + + arri; output += = +sum; System.out.println(output); System.exit(0); 该程序的运行结果()6、class Baseint i=1;public void amethod()System.out.println(“Base.amethod()”);Base()amethod();public class Descend extends Baseint i=-1;public static void main(String args)Base b = new Descend();System.out.println(b.i);b.amethod();public void amethod()System.out.println(“Descend.amethod()”);该程序的执行结果是()。7、public class Testpublic static void aMethod() throws Exceptiontrythrow new Exception();finallySystem.out.println(“Finally”);public static void main(String args)tryaMethod();catch(Exception e)System.out.print(“Exception”);System.out.print(“Finished”);该程序的执行结果是()。8、public class A static System.out.print(1); public A() System.out.print(2); public class B extends A static System.out.print(a); Public B()System.out.print(b); public class Hello public static void main(String arge) System.out.println( ); A ab = new B(); System.out.println( ); ab = new B(); 的输出结果:9、public class Carpublic void run()System.out.println(“汽车在跑”);public class Benz extends Carpublic void run()System.out.println(“奔驰在跑”);public static void main(String args)Car car = (Car)(new Benz();car.run();该程序的运行结果:10、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); 该程序的运行结果:3、 简答题(共30分,每题3分)1、 java中构造方法的功能和特点,构造方法和一般方法的区别?2、java中的访问控制符包含哪些?各访问控制符的作用?3、构造方法可以重载,重写吗?4、方法的重载和方法的重写的区别?5、this和super的作用以及this()和super()的区别6、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?7、是否可以继承String类?为什么?8、String s = new String(“abc”);创建了几个对象?9、说出一些常用的类,包,接口,请各举5个10、静态变量和实例变量的区别?四、编程题(共20分,每题10分)1、使用冒泡排序对22,45,32,1,45,78,2,45,36,55,12,3组数进行排序2、编程计算下列式子的结果(使用递归算法):1!+2!+3!+4!+10!
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!