Java语言程序设计 期末测试卷(含答案)

举报
资源描述
一、单选题 1、‌如果程序中出现单词class,则这个程序一定不会是下列哪种语言编写的?(   ) A.C语言 B.Java语言 C.C++语言 D.C#语言 答案:A 2、‎执行Java语句“int x = 5, y;  y = --x;”之后,变量x和y的值分别为(   )。 A.4, 5 B.5, 4 C.4, 4 D.5, 5 答案:C 3、‍执行Java语句“if (1 < 0 || false)  System.out.print(“Hello world!”);”显示器上将显示(   )。 A.“Hello world!” B.Hello, world! C.Hello world! D.什么都没显示 答案:D 4、‏下列关于对象的描述中,错误的是(   )。 A.对象的方法成员用于处理数据,通过“对象名.方法成员名( )”进行调用 B.可以调用对象中的所有方法成员 C.对象名实际上是对象的引用变量名 D.对象包含哪些成员是由其类定义决定的 答案:B 5、‏下列关于对象引用的描述中,错误的是(   )。 A.引用变量在引用一个对象之后不能再改变引用,引用其他对象 B.当一个对象不被任何变量引用时,其内存单元将被Java虚拟机收回 C.运算符new在创建对象后将返回该对象的引用 D.一个对象可以被多个引用变量同时引用 答案:A 6、下列关于Java语言中变量的描述,哪个是错误的?(   ) A.局部变量可以是基本数据类型,也可以是引用数据类型 B.Java语言中的变量分为字段、局部变量和形参三种 C.字段可以是基本数据类型,也可以是引用数据类型 D.形参只能是基本数据类型,不能是引用数据类型 答案:D 7、‎定义一个具有int型可变长形参的方法fun( ),下列哪种写法是正确的?(   ) A.voidfun(int …x[ ]) { … } B.int fun(int x1, int x2, …) { … } C.voidfun(int …x) { … } D.int…fun(int x[ ]) { … } 答案:C 8、‍定义一个包含3个元素的类Circle的对象数组x,下列哪种写法是错误的?(   ) A.Circle [ ]x = new Circle[3]; B.Circle x[ ] = new Circle[3]; C.Circle x[ ] = { new Circle( ), new Circle( ), new Circle( ) }; D.Circle x[3] = new Cirlce( ); 答案:D 9、‎下列关于Java包的描述中,错误的是(   )。 A.package语句可以放在源程序代码的任意位置 B.对Java类分包管理就是将类的程序文件放入不同子目录进行分组管理 C.Java类的包名就是其源程序文件所在的子目录名 D.package语句的作用是向Java编译器声明本文件中类所在的包名 答案:A 10、‎访问定义在public类中的默认权限成员,下列哪种访问是错误的?(   ) A.在同一文件的类中访问 B.在不同包的类中访问 C.在同一包的类中访问 D.在本类中访问 答案:B 11、‏下列关于组合类对象的描述中,错误的是(   )。 A.访问组合类对象中对象字段的的下级成员需受多级权限的控制 B.组合类所定义的对象中包含对象字段 C.可以访问组合类对象中private对象字段的下级public成员 D.访问组合类对象中对象字段的下级成员是多级访问 答案:C 12、‍定义如下的类A和组合类B:‏ ‍class A {     private  int x;     public  int y; } class B {     public  A t;     public  int s; } ‏‍使用组合类B定义一个对象obj,则下列语句中正确的是(   )。 A.obj.t.x = 5;  obj.t.y = 5;  obj.t.s = 5; B.obj.x = 5;   obj.y = 5;   obj.s = 5; C.B x = obj;  x.y = 5;   x.s = 5; D.B y = obj;  y.t.y = 5;  y.s = 5; 答案:D 13、‍继承超类得到新的子类,子类中将不包括(   )。 A.超类的私有成员 B.超类的构造方法 C.超类的公有成员 D.超类的保护成员 答案:B 14、‏已定义类A: ‏class A {     private  int x;     protected  int y;     public  int z;     public  A(int p1, int p2, int p3) { x = p1;  y = p2;  z = p3; }  // 构造方法 } ‏再通过继承与扩展定义子类B: ‏class B  extends A {     private  int b;     // 定义子类B的构造方法 } ‏则下列子类B的构造方法定义中,正确的是(   )。 A.B(int p1, int p2, int p3, int p4) : A(p1, p2, p3)  { b = p4; } B.B(int p1, int p2, int p3, int p4)  { super(p1, p2, p3);  b = p4; } C.B(int p1, int p2, int p3, int p4)  { x = p1;  y = p2;  z = p3;  b = p4; } D.B(int p1, int p2, int p3, int p4)  { A(p1, p2, p3);  b = p4; } 答案:B 15、‏在定义方法成员时前面加关键字final,其含义是(   )。 A.该方法不能修改类中的字段成员 B.该方法不能被调用 C.子类不能重写该方法 D.子类不能调用该方法 答案:C 16、‌在定义类时前面加关键字final,其含义是(   )。 A.不能用该类定义对象 B.该类不能被继承 C.子类不能重写该类的方法 D.子类不能对该类的字段赋值 答案:B 17、下列关于对象多态语法规则的描述中,错误的是(   )。 A.如果子类重写了超类成员,通过超类引用变量所访问到的是重写后的新成员 B.通过超类引用变量访问子类对象的成员,只能访问其中超类定义过的成员 C.如果子类重写了超类成员,通过超类引用变量所访问到的是重写前的老成员 D.通过超类引用变量访问子类对象的成员,不能访问其中新添加的成员 答案:C 18、定义如下的超类A和子类B: ‏ class A {     public  void fun( ) { … }  // 代码省略 } class B  extends A {     public  void fun( ) { … }   // 重写fun( ),代码省略 } ‏ 按如下形式创建一个子类B的对象,然后调用其方法成员fun( ): ‏ B b = new B( );  b.fun( ); ‏ 上述调用方法成员fun( )的执行过程是(   )。 A.执行类A定义的fun( ) B.先执行类A定义的fun( ),再执行类B重写的fun( ) C.执行类B重写的fun( ) D.先执行类B重写的fun( ),再执行类A定义的fun( ) 答案:C 19、‍定义如下的超类A和子类B: ‎ ‍class A {     public  void fun( ) { … }  // 代码省略 } class B  extends A {     public  void fun( ) { … }   // 重写fun( ),代码省略     public  void fun1( ) { … }  // 新添加fun1( ),代码省略 }按如下形式创建两个子类B的对象,然后分别访问其下级成员: ‎ ‍A a = new B( );  B b = new B( );     // 创建对象 a.fun( );  a.fun1( );  b.fun( );  b.fun1( );  // 访问对象的下级成员 ‎ ‍上述访问对象下级成员的语句中错误的是(   )。 A.a.fun( ); B.b.fun1( ); C.b.fun( ); D. a.fun1( ); 答案:D 20、‌接口是一种特殊的抽象类,其成员中不能包含(   )。 A.protected抽象方法 B.public抽象方法 C.public静态方法 D.public静态只读字段 答案:A 21、下列关于匿名类的描述中,错误的是(   )。 A.匿名类必须继承某个超类或实现某个接口 B.匿名类可以实现多个接口 C.匿名类最多只能继承一个超类 D.省略掉类名的局部类被称为匿名类 答案:B 22、数学类Math的全称“java.lang.Math”中不包含(   )信息。 A.超类名 B.包名 C.子包名 D.类名 答案:A 23、下面的类(   )不是Java API中的字符串类。 A.Character B.StringBuilder C.String D.StringBuffer 答案:A 24、下面的类(   )不是数值类Number的子类。 A.Boolean B.Float C.Byte D.Double 答案:A 25、‌对象类Object中将对象转成字符串的方法是(   )。 A.equals( ) B.finalize( ) C.toString( ) D. hashCode( ) 答案:C 26、系统类System中请求Java虚拟机回收垃圾的方法是(   )。 A.currentTimeMillis( ) B.arraycopy( ) C.gc( ) D.getProperty( ) 答案:C 27、Java程序中的运行时错误主要通过(   )来进行排查。 A.Java异常处理机制 B.Java虚拟机 C.运行测试 D.Java编译器 答案:A 28、‍下面的异常类(   )属于必须被“捕捉或声明”的勾选异常。 A.Error类及其子类 B.IOException类及其子类 C.NullPointerException类 D.RuntimeException类及其子类 答案:B 29、‌下列抛出异常对象的语句中,错误的是(   )。 A.throw new Exception( ); B.throw new IOException ( ); C.Exception e = new Exception( );  throw e; D.throw new String( ); 答案:D 30、‎下列关于泛型类的描述中,错误的是(   )。 A.带类型参数的类被称为泛型类 B.使用泛型类时,类型实参都可以省略 C.使用泛型类可定义出不同类型的具体类 D.类型形参可指代某种具体的数据类型 答案:B 31、‏映射类HashMap可以实现(   )的功能。 A.动态数组 B.堆栈 C.无序集合 D.字典 答案:D 32、‎C/C++语言中有数组、枚举类型、联合体和结构体等自定义数据类型
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号