Java语言和WWW技术(Java技术)第三次形考答案.doc
(197 KB, 下载次数: 11, 售价: 3.00 元)
第三次形考 试卷总分:100 测试时间:-- 单选题 |判断题 1. 下列关于使用this调用构造方法的说法中,错误的是( )。 使用this调用构造方法的格式为this([参数1,参数2…]) 只能在构造方法中使用this调用其它的构造方法 使用this调用其它构造方法的语句必须放在第一行 在一个类的两个构造方法中可以使用this互相调用 2. 下列关于this关键字的说法中,错误的是( )。 this可以解决成员变量与局部变量重名问题 this出现在成员方法中,代表的是调用这个方法的对象 this可以出现在任何方法中 this相当于一个引用,可以通过它调用成员方法与属性 3. 下列选项中,哪一个类是Object的子类?( ) public final class String{} public class Person{} public abstract Animal{} 以上三个类都是Object子类 4. 以下关于接口继承的说法中,正确的是( )。 接口继承自Object类 一个接口只能继承一个接口 一个接口可以继承多个接口 接口不能被继承 5. 如果父类的方法是静态的,则子类的方法被( )修饰才能覆盖父类的静态方法 ? protected static private final 6. 函数重写与函数重载的相同之处是 ( )。 权限修饰符 函数名 返回值类型 形参列表 7. 以下关于继承的描述,说法正确的是( )。 子类继承父类的所有属性和方法 子类可以继承父类的私有的属性和方法 子类可以继承父类的公有的属性和方法 创建子类对象时,父类的所有构造方法都会被执行 8. 在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?( ) inherits implements extends modifies 9. .已知类的继承关系如下: class A class B extends A class C extends A 则以下语句中能够通过编译的是( )。 Aa=new B(); C c=new B(); Cc=new A(); B b=new C(); 10. 编译运行下面的程序,结果是什么?( ) public class A { public static void main(String[] args) { B b = new B(); b.test(); } void test() { System.out.print(\"A\"); } } class B extends A { void test() { super.test(); System.out.print(\"B\"); } } 产生编译错误 代码可以编译运行,并输出结果AB 代码可以编译运行,但没有输出 编译没有错误,但会产生运行时异常 11. 在类的继承关系中,需要遵循以下哪个继承原则?( ) 多重 单一 双重 不能继承 12. 下列关于对象的类型转换的描述,说法错误的是( )。 对象的类型转换可通过自动转换或强制转换进行 无继承关系的两个类的对象之间试图转换会出现编译错误 由new语句创建的父类对象可以强制转换为子类的对象 子类的对象转换为父类类型后,父类对象不能调用子类的特有方法 13. 下列关于构造方法重载的说法中,错误的是( )。 不同构造方法中调用本类其它的构造方法时,需要使用this([参数1,参数2…])的形式 不同构造方法中调用本类其它的构造方法时,必须放在第一行 构造方法的重载和普通方法一样,方法名的前面需要声明返回值类型 构造方法重载时,只要每个参数类型或参数个数不同即可 14. 在下面哪种情况下,可以使用方法重写?( ) 父类方法中的形参不适用于子类使用时 父类中的方法在子类中没有时 父类的功能无法满足子类的需求时 父类方法中的返回值类型不适合子类使用 15. 下列程序运行结果是( )。 public class Demo { public static void main(String[] args) { Object obj=new Father(){ public void show(){ System.out.println(\"helloworld\"); } }; obj.show(); } } class Father{ public void show(){ System.out.println(\"hello father\"); } } hello father helloworld 无结果 程序编译报错 16. 对于使用多态的应用程序,某个对象的确切类型何时能知道?( ) 执行时才可以知道 应用程序编译时能够判断 程序员编写程序时就已知道 永远不会知道 17. 已知类的继承关系如下: class Employee; class Manager extends Employeer; class Director extends Employee; 则以下哪个语句能通过编译?( ) Employee e=new Manager(); Director d=new Manager(); Director d=new Employee(); Manager m=new Director(); 18. 一个具体类实现接口时,需要重写接口中的( )。 成员变量 局部变量 成员方法 构造方法 19. 在Java语言中,String类型的成员变量的默认初始值是( )。 false "" 0 null 20. 在JDK中,包含大量工具类、集合类的包是( )。 java.lang java.net java.util java.awt 21. 先阅读下面的程序片段: String str1=new String(\"java\"); String str2=new String(\"java\"); StringBuffer str3=newStringBuffer(\"java\"); 对于上述定义的变量,以下表达式的值为true的是哪个?( ) str1==str2; str1.equals(str2); str1==str3; 以上都不对 22. 下列方法中,用于判断字符串是否相等的是( )。 boolean contains(CharSequence cs) String toLowerCase() boolean equals(Object anObject) boolean isEmpty() 23. 阅读下面的代码,编译后会生成几层包?( ) package cn.itcast.mypack; class PackageDemo { public static void main(String [] args) {System.out.println(\"Hello package!\"); } } 一层包(cn) 二层包(cn.itcast) 三层包(cn.itcast.mypack) 四层包(cn.itcast.mypack.PackageDemo) 24. 下列关于Math.random()方法的描述中,正确的是 ( )。 返回一个不确定的整数 返回0或是1 返回一个随机的double类型数,该数大于等于0.0小于1.0 返回一个随机的int类型数,该数大于等于0.0小于1.0 25. 阅读下面一段代码,程序的运行结果是( )。 Integer in1 = new Integer(10); Integer in2 = new Integer(10); Integer in3 = 10; Integer in4 = 10; System.out.print(in1 == in2); System.out.print(in1 == in3); System.out.print(in3 == in4); true true true false false true false false false false true false 26. 要产生[20,999]之间的随机整数可以使用以下哪个表达式?() (int)(20+Math.random()*97) 20+(int)(Math.random()*980) (int)Math.random()*999 20+(int)Math.random()*980 27. 下列选项中,可以正确实现String初始化的是( )。 String str = "abc"; String str = 'abc'; String str = abc; String str = 0; 28. System类位于以下哪个包中?() java.io java.util java.awt java.lang 29. 数组int a[]={45,4,67,23,65,87,34,52,56};中a[5]的值为( )。 23 45 65 87 30. 请阅读下面的代码: String s1=new String(“abc”); String s2=s1.intern(); String s3=”abc”; System.out.println(s1==s2); System.out.println(s2==s3); System.out.println(s1==s3); 下列选项中,程序的输出结果为( )。 false true false false false false false true true false false true 31. 阅读下面的程序,程序的运行结果是( )。 class StringDemo { public static void main(String[] args) {String s1 = “a”; String s2 = “b”; show(s1,s2); System.out.println(s1+s2); } public static void show(String s1,String s2) { s1= s1 +”q”; s2 = s2 + s1;} } ab aqb aqbaq aqaqb 32. 下列关于System类的描述中,错误的是( )。 System类是final关键字修饰的类,它不能被其他类所继承 System类不能被实例化 System类中定义了许多方法,但是没有定义属性 System类中提供了获取当前系统属性的方法 33. 下列选项中,哪个是StringBuffer类中append()方法的返回值类型?( ) String void StringBuffer StringBuilder 34. 以下哪个选项可以正确创建一个长度为3的二维数组?( ) new int [2][3]; new int[3][]; new int[][3]; 以上答案都不对 35. 下面关于Math.random()方法生成的随机数,正确的是( )。 0.8652963898062596 -0.2 3.0 1.2 36. 下列符号中,哪个用于分隔throws关键字抛出的多个异常?( ) ; , & | 37. Thread类位于下列哪个包中?() java.io java.lang java.util java.awt 38. 下列选项中,可以导入指定包中所有类的是( )。 package包名; package 包名.*; import 包名; import 包名.*; 39. Java中的String类的对象既可以是字符串常量,也可以是字符串变量。 √ × 40. Vector类中的对象不能是简单数据类型。 √ × 41. 设String对象s=”Hello ”,运行语句System.out.println(s.concat(“World!”));后String对象s的内容为”Hello world!”,所以语句输出为Hello world! √ × 42. 子类要调用父类的方法,必须使用super关键字。 √ × 43. 用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。 √ × 44. System类不能实例化,即不能创建System类的对象。 √ × 45. 子类的域和方法的数目一定大于等于父类的域和方法的数目。 √ × 46. 创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。 √ × 47. 一个Java类可以有多个父类。 √ × 48. Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。 √ × 49. 如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。 √ × 50. 使用方法length( )可以获得字符串或数组的长度。 √ ×
|