《JAVA期末复习考试试卷A》由会员分享,可在线阅读,更多相关《JAVA期末复习考试试卷A(10页珍藏版)》请在金锄头文库上搜索。
1、班级:考位号:装订线(答题不得超过此线)学号:姓名:12月30日 考试 (查) 用 广西大学行健文理学院课程考试试卷 ( 学年度第 1 学期)课程名称:面向对象程序设计 考试形式:(开卷)试卷类型:(A ) 命题教师签名: 教研室主任签名: 主管院长(学部主任)签名:题 号一二三四五六七八九十总分应得分3020101030100实得分评卷人一、选择题(每小题2分,共计30分)1) Java语言的类型是 ( )A. 面向对象语言 B. 面向过程语言 C. 汇编程序 D. 形式语言 2) 对下列程序段的执行结果说法正确的是 ( )public class Test String s;public
2、void method() int i = 10;System.out.println(i);public Test() System.out.println(s); A. 0 null B. 10 nullC. 编译错误 D. 编译通过,但不能执行,会产生异常 3) 以下哪个表达式是不合法的 ( )A. String x=Hello; int y=9; x+=y; B. String x=Hello; int y=9; if(x=y) C. String x=Hello; int y=9; x=x+y; D. String x=null; int y=(x!=null)&(x.length(
3、)0)? x.length():0; 4) 计算机中的流是? ( )A. 流动的字节 B. 流动的对象 C. 流动的文件 D. 流动的数据缓冲区 5) 在下面代码中,“insert code here”位置插入哪个选项是非法的?( )class Parent public void print(int i) /business code public class Child extends Parent public static void main(String argv) / insert code hereA.public void print(int i, byte b) throws
4、 Exception B.public void print(int i, long i) throws Exception C.public void print(long i) D.public int print(int i)6) 以下说法错误的是 ( )A. 封装是关于隐藏类的实现细节并允许通过一个公有接口来访问类的概念。为此,我们需要声明类的实例变量为private或者protected。B. 客户代码应当只访问公有方法而不是直接访问数据。C. 在Java 编程中,IS-A 关系基于继承,它是用关键词extends 实现的。D. 在Java编程中,HAS-A关系是通过关键词imple
5、ments实现的。7) 若需要定义一个类变量或类方法,应使用哪种修饰符? ( )A. static B. package C. final D. public8) 下列对继承的说法,哪个是正确的? ( )A. 子类能继承父类的所有方法和状态 B. 子类能继承父类的非私有方法和状态 C. 子类只能继承父类public方法和状态 D. 子类只能继承父类的方法,而不继承状态 9) 下列关于构造方法的说法正确的是 ( )A. 因为构造方法名与类名必须相同,所以构造方法的首字母必须大写。 B. 构造方法是给对象赋初值,所以没有返回值,要用void来声明。 C. 构造方法不能被程序调用,也不可以重写。 D
6、. 一个类只允许有一个构造方法。 10) 关于以下程序片段的输出结果正确的是 ( )int i = 2; switch(i) default: System.out.println(Default); case 0: System.out.println(Zero); break; case 1: System.out.println(One); break; A. Default B.C. Default Zero D. DefaultZeroOne 11) 下列说法哪个是不正确的? ( )A. 构造函数可以被重载,但是它们不能被覆盖。B. 覆盖方法必须与被覆盖的方法具有相同的名称、参数和返
7、回类型。C. 被重载的方法的返回类型可以相同,也可以不同。D. 声明为 final 的方法不能被重载。12)不在Object类中定义的方法是 ( )A. notify( ) B. wait( )C. sleep( ) D. toString( )13) 以下关于异常的说法,错误的是 ( )A. 如果方法抛出运行时异常,在调用该方法的代码中不需要使用catch语句。B. 如果方法抛出Error,无需在方法签名声明抛出异常。C. 异常可分为checked Exception和unchecked ExceptionD. 所有异常都是Exception类的子类。14) 以下程序的输出结果是 ()pub
8、lic class Koo public static void main(String args) int x = 1, sum = 0;while (x = 10) sum += x;x+;System.out.println(sum= + sum);A. 45 B. 55C. 10D. 11 15) 关于接口、抽象类和普通类,下列说法错误的是 ( )A. 抽象类可以有抽象方法而普通类则不能有抽象方法。B. 抽象类的方法可以有部分实现而接口不能实现其方法。C. 普通类可以在实现多个接口的同时继承一个抽象类D. 接口不能定义变量。 二、填空题(每小题4分,共20分)1) 实现多线程编程的两个
9、基本方法是_。2) 请用一条语句完成对一个33的整数型二维数组intArray的定义和初始化,使之初始化后的值均为1:_。3) 在一个时刻只能被一个线程访问的资源称为 ,而访问该资源的代码称为 。4) 面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和_的集合体。5) 对于以下类定义, class MyClass class MyInner MyInner称为内部嵌套类,要实例化MyInner,其代码如下: MyClass myClass = new MyClass(); MyClass.MyInner inner = ;如果在class MyInner前加上
10、static,我们称之为静态内部嵌套类,其实例化代码为:_。三、写出代码运行结果(每小题5分,共计10分) 1) class TestA Integer i;String s;TestA(int i, String s) this.i = i;this.s = s;public String toString() return i + s;public static void main(String args) int i=0; String s=test; TestA t=new TestA(i, s); System.out.println(t);答: 0test2) class MyCl
11、ass static int i = 1;int num = 3;public static int getI() return i;public static void setI(int i) MyClass.i = i;void setNum(int a) this.num = a;int getNum() return num;class Test static void change(MyClass myClass, int value) myClass.setNum(value);MyClass.setI(value);public static void main(String args) MyClass my = new MyClass();change(my, 0);System.out.println(my.getNum();System.out.println(MyClass.getI();my = new MyClass();System.out.println(my.getNum();System.out.println(MyClass.getI(); 答: 0030 四、简答题(每小题5分,共10分)1) HashSet、ArrayList和HashMap适用于什么场合?请举例说明。2) 实现多态性需要的基本步骤是什么并用一段代码说明。