Java习题

更新时间:2024-04-22 03:06:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、 多选题:

1.JDK由组成以下哪几部分组成?(ABCD) A. Java编程语言 B. 工具及工具的API C. Java EE扩展API D. Java平台虚拟机

2. 以下哪些是JDK工具?(ABC) A. javac B. jdb C. javadoc D. junit

3. 以下关于JVM的叙述,哪项正确?(BD)

A.JVM运行于操作系统之上,它与操作系统无关 B.JVM运行于操作系统之上,它依赖于操作系统

C.JVM支持Java程序运行,它能够直接运行Java源代码文件 D.JVM支持Java程序运行,它能够直接运行Java字节码文件 4. 以下关于Java HotSpot的描述,哪两项正确?(BD)

A.Java HotSpot是一种热编译技术,在编译Java源程序时会被使用 B.Java HotSpot是一种热编译技术,在运行Java代码时会被使用

C.Java HotSpot是一种热编译技术,它会对程序的全部字节码进行优化 D.Java HotSpot是一种热编译技术,它只对程序的部分字节码进行优化 5. 以下关于Java文件名的叙述,正确的有?(AC) A. Java源文件的扩展名应为.java B.Java字节码文件的扩展名应为.java

C.Java源文件的文件名应与文件中的类名一致 D. 一个Java源文件中只能包含一个Java类 6. 对于如下代码,描述正确的是哪项?(BCD) Cla ss Student{

public static void main(String[] args){ Student student = new Student(); } }

A. Student student声明了一个类

B.new Student()创建了Student对象的一个实例 C.Student student声明了对象Student的一个引用 D.class Student声明了一个类 E.new Student()创建了一个类

7. 下列有关UML类图的描述,错误的是哪项?(E)

A. UML类图定义了一组符号用于表示对象技术的抽象,例如类、对象等 B. 一个UML类图代表一个类

C. UML的详细类图中包括类名、字段、构造器和方法 D. 对象图表示类的实例

E. UML的简要类图包括类名、字段和方法 8. 现有如下包结构:

com |-- x

| |-- Alpha.class | | | |-- y

| |-- Beta.class | |-- Gamma.class 和类:

class Test { Alpha a; Beta b; Gamma c; }

哪三个必须加入到类 Test 中,以使其通过编译?(BDF) A. package y B.package com C.package com.x D.import com.x.* E.import com.Alpha F.import com.x.y.*

9. 下列哪项是String的字面量?(A) A. “Hello” B. ‘world’ C. \?

D. new String(“good”)

10. 现有:

1. class Test3 {

2. public static void main(String [] args) { 3. boolean x = true; 4. boolean y = false; 5. short z = 42; 6.

7. if((x = false) || (y = true)) z++; 8. if((z++ == 44) || (++z == 45)) z++; 9.

10. System.out.println(“z = “ + z); 11. } 12. }

结果为:(D) A. z = 43 B. z = 44 C. z = 45 D. z = 46 E. 编译失败

F. 运行时异常被抛出

11. Java数组的下标是从几开始?(B) A. -1 B.0

C.1

D.视具体情况而定

12. 以下关于数组的叙述,哪项错误?(B)

A. 数组需使用new关键字来实例化,实例化后的数组,其元素具有初始值。 B. 基本数据类型的数组位于堆栈中,而对象类型的数组位于堆中。 C. 数组一经实例化后,其长度无法再改变。 D. 数组元素的起始下标是0。

13. 下列关于继承优点的叙述正确的是哪几项?(ABC) A.可以创建更为特殊的类型 B.消除重复代码 C.便于维护 D. 执行效率高 14. 现有:

1. class Synapse {

2. protected int gap() { return 7; } 3. } 4.

5. class Creb extends Synapse { 6. // insert code here 7. }

分别插入到第 6 行,哪三行可以编译?(请选择三项。)(ACE) A. int gap() { return 7; }

B. public int gap() { return 7; }

C. private int gap(int x) { return 7; } D. protected Creb gap() { return this; }

E. public int gap() { return Integer.getInteger (“42“); } 15现有:

1. class HorseRadish { 2. // insert code here

3. protected HorseRadish(int x) { 4. System.out.println(“bok choy“); 5. } 6. }

7. class Wasabi extends HorseRadish {

8. public static void main(String [] args) { 9. Wasabi w = new Wasabi(); 10. } 11. }

分别插入到第 2 行,哪两项允许代码编译并产生“bok choy“ 输出结果?(选两项)A. // just a comment

B. protected HorseRadish() { }

C. protected HorseRadish() { this(42);}

(CD) D. protected HorseRadish() { new HorseRadish (42);} 16. 现有: 1. class Sock { 2. String size; 3. String color;

4. public boolean equals(Object o) { 5. Sock s = (Sock) o;

6. return size.equals(s.size) && color.equals(s.color); 7. } 8. }

以下哪两项是正确的?(选两项)(BD)

A. 相同大小和颜色的两个Sock实例具有相同的哈希码。 B. 相同大小和颜色的两个Sock实例可能有不同的哈希码。

C. 一个使用Sock实例作为键(key)的Hashtable始终能够成功地检索存储在其中的对象。 D. 使用Sock实例作为键(key)的Hashtable不一定能够成功检索存储在其中的对象。 17. 程序员已经创建了一个类,该类的实例可以用做Hashtable的键(key)。 哪两项是对的?(选两项)(BC)

A. 该类有一个返回类型为 int 的 equals 方法。 B.该类有一个返回类型为 boolean 的 equals 方法。 C.该类有一个接收一个参数的 equals 方法。 D.该类有一个接收两个参数的 equals 方法。 18.Java语言中封装的优点有哪些?(BC) A. 类的实现更加容易 B.保护数据的完整性

C.提高应用程序的可维护性 D.提高代码运行的效率 E.可以少写代码

19. Java语言中提供了哪些元素来支持封装?(选三项)(ACD) A. class语句 B. new语句 C. package语句 D. 访问修饰符

20下列哪些访问修饰符是在子类中可见的?(选两项)(CD) A. private B. default C. protected D. public

21下列有关抽象方法叙述正确的是哪项?(选两项)(BC)

A. 抽象方法和普通方法一样,只是前面多加一个修饰符asbtract B. 抽象方法没有方法体

C. 包含抽象方法的类的具体子类必须提供具体的覆盖方法 D. 抽象方法可以包含在任何类中 22. public class TestDemo{

private int x = 2; static int y = 3;

public void method(){ final int i=100; int j = 10; class Cinner{

public void mymethod(){ //Here } } } }

在Here处可以访问的变量是哪些?(选三项)(ABC) A. x B. y C. i D. j

23. 现有: 1. class Tree {

2. private static String tree = “tree “; 3. String getTree() { return tree; } 4. }

5. class Elm extends Tree {

6. private static String tree = “elm “; 7. public static void main(String [] args) { 8. new Elm().go(new Tree()); 9. }

10. void go(Tree t) {

11. String s = t.getTree()+Elm.tree + tree + (new Elm().getTree()); 12. System.out.println(s); 13. } }

结果为:(D)

A. elm elm elm elm B. tree elm elm elm C. tree elm tree elm D. tree elm elm tree E. 编译失败

F. 运行时异常被抛出 二、 单选题:

1.下列关于JDK、JRE和JVM的描述。哪项正确?(B) A. JDK中包含了JRE,JVM中包含了JRE B.JDK中包含了JRE,JRE中包含了JVM C.JRE中包含了JDK,JVM中包含了JRE

D.JRE中包含了JDK,JDK中包含了JVM 2. 用于生成Java文档的JDK工具是?(C) A. javac B. jdb C. javadoc D. junit

3. 以下关于支持Java运行平台的叙述,哪项错误?(D) A. Java可在Solaris平台上运行 B, Java可在Windows平台上运行

C.Java语言与平台无关。Java程序的运行结果与操作系统无关 D.Java语言与平台无关。Java程序的运行结果依赖于操作系统 4. 以下关于Applet的描述,哪项错误?(B) A.一个Applet就是一段Java程序

B.Applet是一种特殊的Java程序,它需要运行在Web服务器上 C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上 D.Applet是一种Java SE平台的应用程序

5. JVM在执行一个Java类时,大致采用以下过程?(A) A. 装载类->校验类->执行类中的代码 B.校验类->装载类->执行类中的代码 C.装载类->执行类中的代码->校验类 D.执行类中的代码->装载类->校验类

6. 用于编译Java源文件的JDK工具是?(A) A. javac B.jdb C.java D.junit

7. Java程序的跨平台特征是由以下哪项技术实现的?(B) A. 系统硬件 B.JVM

C.Java编译器 D. 操作系统

8. 下列有关类、对象和实例的叙述,正确的是哪一项?(B)

A. 类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别 B. 类是对象的抽象,对象是类的具体化,实例是对象的另一个名称 C. 对象是类的抽象,类是对象的具体化,实例是对象的另一个名称 D. 类是对象的抽象,对象是类的具体化,实例是类的另一个名称 9. Java源文件的后缀名是?(C) A. .class B. .c C. .java D. .txt

E. 以上都不是

10. 下列哪个命令可以创建Java类的.class文件?(C) A. java Account.java

B. javac Account.c C. javac Account.java D. java Account E. javac Account.txt

11. 以下关于应用程序主类的描述,哪项错误?(C)

A. 应用程序主类是应用程序的入口点,也可称之为应用程序启动类 B. 应用程序主类中必须含有main方法,main方法的签名是 public static void main(String[] args){}

C. 只有应用程序主类可以包含main方法,其它类不可以 D. 启动Java应用程序的命令是java

12. 下述代码执行后,可以被垃圾收集器收集的对象是哪一个?Student stua; stua = new Student(“Mike”); Student stub; stub = stua;

stua = new Student(“Jack”);(E) A. Student(“Mike”) B. Student(“Mike”) C. stua D. stub

E. 以上都不是

13. 下列类Account的构造方法中,声明正确的是?(C) A. Account(name){} B. Account(String name) C. Account(String name){} D. NewAccount(String name){}

14.在类Acoount中,正确引入类school.Student的语句是哪一项?(C) A. import Student B. import school C. import school.*

D. package school.Student

15.关于语句package com.myschool,叙述错误的是哪一项?(D) A. 该语句必须出现在类声明语句class Student{}之前 B. 包名com.myschool对应目录结构com/myschool

C. 要想引入该包中的所有类,必须使用import com.myschool.*语句 D. 任何类中都必须包含package语句

16. 假设在目录myprj/src/school中有Java源文件Student.java,如果希望该文件编译后的类文件出现在目录myprj/classes/school中,应该使用下列哪一个命令?(A) A. cd myprj/src

javac –d ../classes school/Student.java B. cd myprj/src

javac ../classes school/*.java C. cd myprj

javac –d ../classes school/*.java D.cd myprj/src/school

javac –d ../classes school/Student.java

17. 假设在目录myprj/src/school中有Java源文件Student.java,编译后的类文件出现在目录myprj/classes/school中,应该使用下列哪一个命令来执行这个类?(C)

A. cd myprj/src

java ../classes school.Student B. cd myprj/src/school

java –cp ../classes school.Student C. cd myprj/src/school

java –cp ../../classes school.Student D. cd myprj/src

java –cd ../classes school.Student

18. 下列关于Java对象清除的叙述正确的是哪项?(B) A.对象被创建后,立刻变成垃圾对象

B.任何不再被引用的对象都是垃圾收集的对象

C.一旦对象失去引用,垃圾收集器立刻把它从内存中清除 D.Java对象的清除必须自己手动处理

19. 下述代码执行后,有几个引用变量和几个对象?(A) Student stu = new Student(“Mike”); Student stua; Stua = stu;

A. 2个引用变量,1个对象 B.1个引用变量,1个对象 C.2个引用变量,2个对象 D.1个引用变量,2个对象

20. 下列哪项不属于Java语言的基本数据类型?(D) A. int B. char C. double D. String E. Boolean

21. 下列哪项不是int类型的字面量?(D) A. 20 B. 077 C. 0xABBC D. \Φ

22. Java SE JDK中类库java.text的用途是哪项?(C) A. 工具类

B. 输出输入支持类

C. 文本处理和格式化类

D. 结构化查询语言(SQL)支持类 E. 图形用户界面(GUI)类

23. 基本数据类型float的包裹类是哪项?(D) A. Integer B. Double

C. Character D. Float

24. 假设有字符串“123”,能把该字符串变成整数的方法是哪几项?(D) A. Integer.parseInt(”123”) B. Float.parseFloat(“123”)

C. Integer.valueOf(“123”).initValue() D. 以上都不是

25. 下列哪项不是有效的标识符?(D) A. userName B._password C. $change D. 2test

26下列关于标识符的叙述正确的是哪项?(C) A. 标识符没有大小写之分但有长度限制 B.标识符没有大小写之分也没有长度限制 C.标识符有大小写之分但没有长度限制 D.标识符有大小写之分也有长度限制

27. 类Student中字段mark的缺省值是哪项?(C) class Student{ String name; int age; float mark;

?? } A. 0 B.0.0 C.0.0f D. null E.false

28. 类Student代码如下: class Student{ String name; int age;

Student(String nm){ name = nm; } }

执行语句Student stu = new Student()后,字段age的值是哪项?(D) A. 0 B.null C.false

D.编译错误

29下列哪项不是Java语言中所规定的注释样式?(B) A. // 单行注释

B.-- 单行注释 /*

C.* 单行或多行注释 */ /**

D.* 文档注释 */

30. 下列哪项不是Java语言的关键字?(C) A. goto

B.instanceof C.sizeof D.volatile

31. 1. class Test4 {

2. public static void main(String [] args) { 3. boolean x = true; 4. boolean y = false; 5. short z = 42; 6.

7. if((z++ == 42) && (y = true)) z++; 8. if((x = false) || (++z == 45)) z++; 9.

10. System.out.println(“z = “ + z); 11. } 12. }

结果为:(D) A. z = 42 B.z = 44 C. z = 45 D. z = 46

E.编译失败

F.运行时异常被抛出 32. 现有:

21. class Beta {

22. public static void main(String [] args) { 23.

24. Integer x = new Integer(6) * 7; 25. if (x != 42) {

26. System.out.print(“42 “); 27. } else if (x.equals(42)) {

28. System.out.print(“dot = “); 29. } else {

30. System.out.print(“done“); 31. } } }

A. age=0 B.age=null C.age=

D.程序编译错误 E.程序运行错误

45. Java语言中表达式“11”+22的结果是哪项?(B) A. 33 B. 1122 C. 22 D. 11

E. 表达式错误 46. 程序:

class DemoApp{

public static void main(String[] args){ int x = 5;

int y = ++x + x++;

System.out.println(“y=”+y+”,x=”+x); } }

以上程序运行后的输出结果是哪项?(C) A. y=10,x=5 B.y=11,x=6 C.y=12,x=7 D.y=11,x=7 E.y=12,x=6

47. Java语言中表达式-12>>3的结果是哪项?(D) A. -4 B. -9 C.-1 D.-2

48. 假设有2个整数x和y,表达式x>=y ? x : y的含义是哪项?(A) A. 求2个数的较大数 B.求2个数的较小数 C.把y的值赋给x D.把x的值赋给y

49. 表达式5 + 10 % 7 + 3的值是哪项?(B) A. 9 B.11 C.4 D.5

50. 程序: class TestApp{

public static void main(String[] args){ int x = 6;

if(x>1)

System.out.println(“x>1”); else if(x>5)

System.out.println(“x>5”); else if(x<10)

System.out.println(“x<10”); else if(x<29)

System.out.println(“x<29”); else

System.out.println(“以上都不是”); } }

上述程序运行后的结果是哪项?(A) A. x>1 B. x>5 C.x<10 D.x<29

E.以上都不是 51. 程序: class TestApp{

public static void main(String[] args){ for(int i=0;i<5;i++)

System.out.print(i+1); System.out.println(i); } }

上述程序运行后的结果是哪项?(D) A. 123456 B.123455 C.123450

D.编译错误 52. 程序: class TestApp{

public static void main(String[] args){ int x = 5;

switch(x){ case 1: case 2: case 3:

System.out.println(“一季度”); break; case 4: case 5: case 6:

System.out.println(“二季度”); case 7: case 8: case 9:

System.out.println(“三季度”); break; case 10: case 11: case 12:

System.out.println(“四季度”); break; default:

System.out.println(“不是有效的月份”); } } }

上述程序运行后的结果是哪项?(C) A. 一季度 B.二季度 C.三季度 D.四季度

E.不是有效的月份 53. 程序: class TestApp{

public static void main(String[] args){ for(int i=0;i<10;i++){ if(i==3) break; System.out.print(i); } } }

程序运行后的输出是哪项?(B) A. 0123 B.012

C.0123456789 D.012456789 54. 程序: class TestApp{

public static void main(String[] args){ System.out.println(multiply(2,3,4,5)); }

public int multiply(int… nums), int result = 1;

for(int x :nums) result *= x; return result; } }

程序运行后的输出是哪项?(C) A. 14

B.编译错误 C.120 D.24

55. 程序:

class TestReference{

public static void main(String[] args){ int x=2;

TestReference tr = new TestReference(); System.out.print(x); tr.change(x);

System.out.print(x); }

public void change(int num){ num = num + 1; } }

程序运行后的输出是哪项?(C) A. 23 B.21 C.22

D.编译错误 56. 程序: class Birthday{ int year; int month; int day;

public Birthday(int year,int month,int day){ year = year;

month = month; day = day; }

public static void main(String[] args){

Birthday birth = new Birthday(1980,10,22); System.out.println(year); } }

程序运行后的输出是哪项?(D)

A. 1980 B.10 C.22 D.0

E.编译错误 57 lass Test {

2. public static void main(String [] args) { 3. for(int x = 0; x < 7; ++x) { 4. int y = 2; 5. x = ++y; 6. }

7. System.out.println(“y = “ + y); 8. } 9. }

结果为:(E) A. y = 5 B.y = 6 C.y = 7 D.y = 8

E.编译失败

F.运行时异常被抛出 58. 现有: 1. class Ifs {

2. public static void main(String [] args) { 3. boolean state = false; 4. int i = 1;

5. if((++i > 1) && (state = true)) 6. i++;

7. if((++i > 3) || (state = false)) 8. i++;

9. System.out.println(i); 10. } 11. }

结果为:(C) A. 3 B.4 C.5

D.编译失败

E.运行时异常被抛出

59. 3. public class Tester {

4. public static void main (String[] args) { 5. int x = 5;

6. Integer x1 = x; Integer x2 = x; 7. int x3 = new Integer(5);

8. System.out.print(x1.equals(x)); 9. System.out.print(x1 == x);

10. System.out.print(x2.equals(x1)); 11. System.out.print(x2 == x1);

12. System.out.print(x2 == x3); 13. System.out.print(x2.equals(x3)); 14. } 15. }

结果为:(B) A. 编译失败

B.truetruetruetruetruetrue C.falsefalsetruetruetruetrue D.falsefalsetruetruetruefalse E.truefalsetruefalsefalsetrue

运行时异常被抛出 60. 现有: 23. int x = 7; 24. switch (x) {

25. case 8: System.out.print(“8“); 26. case 7: System.out.print(“7“); 27. case 6: System.out.print(“6“); 28. default: System.out.print(“def“); 29. case 9: System.out.print(“9“); 30. }

结果为:(D) A. 7 B.789 C.76def D.76def9 E.编译失败 61. 现有:

10. class Alpha {

11. public static void main(String [] args) { 12.

13. Integer x = new Integer(6) * 7; 14. if (x != 42) { 15. System.out.print(“not 42 “); 16. } else (x.equals(42)) { 17. System.out.print(“dot = “); 18. } else {

19. System.out.print(“done“); 20. } } }

结果为:(D) A. done

B.dot = C.not 42 D.编译失败

E.运行时异常被抛出

62. 1. class Rectangle {

2. public static void main(String [] args) { 3. int [] x = {1,2,3};

4. x[1] = (x[1] > 1) ? x[2] : 0; 5. System.out.println(x[1]); 6. }

7. } 结果为:(D) A. 0 B.1 C.2 D.3

E.编译失败

F.运行时异常被抛出 63. 现有:

1. class Output {

2. public static void main(String [] args) { 3. int i = 4; 4. System.out.print(“3“ + i + “ “); 5. System.out.print(i + 4 + “6“); 6. System.out.println(i + “7“); 7. }

8. } 结果为:(D) A. 7 8611 B.7 44647 C.34 8611 D.34 8647 E.34 44611 F.34 44647 64. 现有:

23. int x = 0; 24. step1:

25. for(; x < 11; x++) { 26. if(x == 6) { 27. x = 8; 28. break step1;

29. }

30. if(x == 3) { 31. x++;

32. continue; 33. }

34. System.out.print(x + “ “); 35. }

结果为:(B) A. 0 1 2 B.0 1 2 5 C.0 1 2 4 5

D. 0 1 2 5 8 9 10 E.0 1 2 5 8 9 10 11

65. 现有: 1. class Test2 {

2. public static void main(String [] args) { 3. boolean x = true; 4. boolean y = false; 5. short z = 42; 6.

7. if((x == true) && (y = true)) z++; 8. if((y == true) || (++z == 44)) z++; 9.

10. System.out.println(“z = “ + z); 11. } 12. }

结果是什么?(C) A. z = 42 B.z = 43 C.z = 44 D.z = 45 E.编译失败

F.运行的时候有异常抛出 66. 现有: 1. class Foo {

2. public static void main(String [] args) { 3. int x = 0; 4. int y = 4;

5. for(int z=0; z < 3; z++, x++) { 6. if(x > 1 & ++y < 10) 7. y++; 8. }

9. System.out.println(y); 10. } 11. }

结果是什么?(C) A. 6 B.7 C.8 D.10 E.12

67. 现有:

1. class WhileTests {

2. public static void main(String [] args) { 3. int x = 5;

4. while (++x < 3) { 5. --x; 6. }

7. System.out.println(“x = “ + x); 8. } 9. }

结果是什么?(C) A. x = 2 B.x = 5 C.x = 6

D.编译失败 E.发生堆栈溢出

68. 运行时,数组以哪种方式存在?(A) A. 对象

B.基本类型变量 C.引用类型变量 D.视具体情况而定

69. 数组元素所占用的内存位于(D) A. 堆栈(Stack) B.数据区 (Data) C.代码区 (Code) D.堆(Heap)

70. 以下哪项是合法的数组声明?(A) A. char s[] B.char s C.char s[10] D.char[10] s; 71. 现有:

public interface A {}

以下哪项声明是合法的?(C) A. a = new A() B.A[] a = new A[] C.A[] a = new A[10]

D.以上皆错

72. 数组的长度可以通过以下哪个属性或方法得到?(B) A. size B.length C.getSize() D.getLength()

73. 已知数组array,其最后一个元素的下标是?(D) A. array.size B.array.length C.array.size-1 D.array.length-1

74. 以下哪种初始化数组的方式是错误的?(B) A. String*+ names = ,“zhang”, “wang”, “li”- B.String*3+ names = ,“zhang”, “wang”, “li”- C.String names[] = new String[3]

D.names[0] = “zhang”; names[1] = “wang”; names[2] = “li” ;以上皆正确 75为将数组myArray的长度由6改为10,现采取以下编码: int[] myArray = new int[6]; myArray = new int[10];

代码执行后,以下叙述哪项是正确的?(C)

A. 数组myArray的长度已由6改为10,其中前6个元素的值不变,后四个元素的值为空。

B.数组myArray的长度已由6改为10,其中前6个元素的值不变,后四个元素需再经过初始化后才能使用。

C.数组myArray的长度已由6改为10,原来6个元素的值全部丢失。 D.数组myArray的长度没有变化。

76. 下列有关父类属性和方法继承规则的描述错误的是哪项?(A) A. 父类中private修饰的属性和方法在子类中不被继承

B.父类中public修饰的属性和方法在子类中被继承且可访问 C.父类中protected修饰的属性和方法在子类中被继承且可访问

D.父类中default修饰的属性和方法在子类中被继承,若父类和子类在同一个包中,则也可访问

77. public class Parent{

public void change(int x){} }

public class Child extends Parent{ //覆盖父类change方法 }

下列哪个声明是正确的覆盖了父类的change方法?(D) A. protected void change(int x){} B.public void change(int x, int y){} C.public void change(String s){} D.public void change(int x){}

78. 在子类中调用父类中被覆盖的方法时需要使用哪项关键字?(B) A. this B.super C.new

D.以上都不是

79. public class Employee{ private String name;

public Employee(String name){ this.name = name; }

public String getName(){ return name; } }

public class Manager extends Employee{ public Manager(String name){

System.out.println(getName()); } }

执行语句new Manager(“smith”)后程序的输出是哪项?(C) A.smith B.null

C.编译错误 D.name

80. public class Employee{ private String name;

public Employee(String name){ this.name = name; }

public String getName(){ return name; } }

public class Manager extends Employee{ private String department;

public Manager(String name,String department){ this.department = department; super(name);

System.out.println(getName());

} }

执行语句new Manager(“smith”,”SALES”)后程序的输出是哪项?(D) A. smith B.null C.SALES D.编译错误

81. public class Pet{ private String name; public Pet(){

System.out.print(1); }

public Pet(String name){ System.out.print(2); } }

public class Dog extends Pet{ public Dog(String name){ System.out.print(3); } }

执行new Dog(“棕熊”);后程序输出是哪项?(B) A.23 B.13 C.123 D.321

82. public class Pet{ private String name; public Pet(){

System.out.print(1); }

public Pet(String name){ System.out.print(2); } }

public class Dog extends Pet{ public Dog(){

System.out.print(4); }

public Dog(String name){ this();

System.out.print(3); } }

执行new Dog(“棕熊”);后程序输出是哪项?(A) A.143 B.423 C.243 D.1134

83 public class Employee{ private String name;

public Employee(String name){ this.name = name; }

public void display(){

System.out.print(name); } }

public class Manager extends Employee{ private String department;

public Manager(String name,String department){ super(name);

this.department = department; }

public void display(){

System.out.println(super.display()+”,”+department); } }

执行语句new Manager(“smith”,”SALES”)后程序的输出是哪项?(A) A. smith,SALES B.null,SALES C.smith,null D.null,null ;编译错误

84. Java语言中常量的定义是哪项?(B) A. public static B.public static final C.final

D.public static abstract

85. 为了使得System.out.println()输出对象引用的时候得到有意义的信息,我们应该覆盖Object中的哪个方法?(C)

A. equals B.hashCode C.toString D.notify

86. class MyDate{ private int year; private int month;

private int day;

public MyDate(int year,int month,int day){ this.year=year;

this.month=month; this.day=day; }

//Override Method }

为了让new MyDate(1980,11,9)==new MyDate(1980,11,9) 返回true,必须在Override Method处覆盖哪个方法?(B)

A. hashCode B.equals C.toString D.notify

87. 表达式”hello” instanceof String返回的值是哪项?(A) A. true B.false C.1 D.0 E.hello

88. public class Pet{ private String name; public Pet(String name){ this.name = name; }

public void speak(){

System.out.print(name); } }

public class Dog extends Pet{ public Dog(String name){ super(name); }

public void speak(){ super.speak();

System.out.print(“ Dog ”); } }

执行代码

Pet pet = new Dog(“京巴”); pet.speak();

后输出的内容是哪项?(B) A. 京巴 B.京巴 Dog

C.null

D.Dog京巴

89. public class Pet{}

public class Cat extends Pet{} 执行代码

Cat c = new Cat(); Pet p = (Pet)c;

后下列哪项是正确的?(C) A. Pet p = (Pet)c正常执行 B.Pet p = (Pet)c编译错误 C.Pet p = (Pet)c运行错误 D.以上都不对 90 public class Pet{ public void speak(){

System.out.print(“ Pet ”); } }

public class Cat extends Pet{ public void speak(){

System.out.print(“ Cat ”); } }

public class Dog extends Pet{ public void speak(){

System.out.print(“ Dog ”); } }

执行代码

Pet[] p = {new Cat(),new Dog(),new Pet()}; for(int i=0;i<p.length;i++) p[i].speak();

后输出的内容是哪项?(C) A. Pet Pet Pet B.Cat Cat Cat C.Cat Dog Pet D.Cat Dog Dog E.Pet Dog Pet 91. 现有: 2. class Cat {

3. Cat(int c) { System.out.print(“cat“ + c + “ “); } 4. }

5. class SubCat extends Cat {

6. SubCat(int c) { super(5); System.out.print(“cable “); } 7. SubCat() { this(4); }

8. public static void main(String [] args) { 9. SubCat s = new SubCat(); 10. } 11. }

结果为:(D) A. cat5 B.cable C.cable cat5 D.cat5 cable

E.编译失败

运行时异常被抛出 92. 现有:

1. class Guy { String greet() { return “hi “; } }

2. class Cowboy extends Guy { String greet() { return “howdy “; } } 3. class Surfer extends Guy { String greet() { return “dude! “; } } 4.

5. class Greetings {

6. public static void main(String [] args) {

7. Guy [] guys = { new Guy(), new Cowboy(), new Surfer() }; 8. for(Guy g : guys)

9. System.out.print(g.greet()); 10. } 11. }

结果为:(B) A. hi hi hi

B.hi howdy dude!

C.运行时异常被抛出。

D.第 7 行出现一个错误,编译失败。 E.第 8 行出现一个错误,编译失败。 93. 现有:

12. class Super { 13. protected int a;

14. protected Super(int a) { 15. System.out.print(this.a); this.a = a; } 16. }

17. class Sub extends Super {

18. public Sub(int b) { super(b); a = super.a;} 19. public static void main(String [] args) { 20. new Sub(7).go(); 21. }

22. void go() { System.out.print(this.a); } 23. }

结果为:(B) A. 00 B.07 C.70 D.77 ;编译失败

;运行时异常被抛出 94. 现有:

1. class Animal { Animal getOne() { return new Animal(); } } 2. class Dog extends Animal { 3. // insert code here 4. } 5.

6. class AnimalTest {

7. public static void main(String [] args) {

8. Animal [] animal = { new Animal(), new Dog() } ; 9. for( Animal a : animal) { 10. Animal x = a.getOne(); 11. } 12. } 13. }

和代码:

3a. Dog getOne() { return new Dog(); } 3b. Animal getOne() { return new Dog(); }

第 3 行中插入的哪项将编译且运行无异常?(C) A. 3a 行 B.3b 行

C.3a 行或 3b 行 D.既非 3a,也非 3b 95现有:

5. class BitStuff {

6. BitStuff go() { System.out.print(“bits “); return this; } 7. }

8. class MoreBits extends BitStuff {

9. MoreBits go() { System.out.print(“more “); return this; } 10.

11. public static void main(String [] args) {

12. BitStuff [] bs = {new BitStuff(), new MoreBits()}; 13. for( BitStuff b : bs) 14. b.go(); 15. }

16. }

结果为:(B)

A. bits bits B. ;bits more C. ;more more D. ;编译失败

E. ;运行时异常被抛出

96现有:

1. class SuperFoo {

2. SuperFoo doStuff(int x) { 3. return new SuperFoo(); 4. } 5. } 6.

7. class Foo extends SuperFoo { 8. // insert code here 9. }

和四个声明:

Foo doStuff(int x) { return new Foo(); }

Foo doStuff(int x) { return new SuperFoo(); } SuperFoo doStuff(int x) { return new Foo(); } SuperFoo doStuff(int y) { return new SuperFoo(); }

分别插入到第8行,有几个可以通过编译?(D) 0 A.1 B.2 C.3 D.4

97.c lass Bird {

2. void talk() { System.out.print(“chirp “); } 3. }

4. class Parrot2 extends Bird {

5. protected void talk() { System.out.print(“hello “); } 6. public static void main(String [] args) {

7. Bird [] birds = {new Bird(), new Parrot2()}; 8. for( Bird b : birds) 9. b.talk(); 10. } 11. }

结果是什么?(B)

A. chirp chirp

B.chirp hello C.hello hello D.编译失败

E.运行的时候有异常抛出

98. 现有:

1. class Beverage {

2. Beverage() { System.out.print(“beverage “); } 3. }

4. class Beer extends Beverage {

5. public static void main(String [] args) { 6. Beer b = new Beer(14); 7. }

8. public int Beer(int x) { 9. this();

10. System.out.print(“beer1 “); 11. }

12. public Beer() { System.out.print(“beer2 “); } 13. }

结果是什么?(E)

A. beer1 beverage B.beer2 beverage C.beverage beer1

D.beverage beer2 beer1 E.编译失败

F.运行的时候有异常抛出

99. 现有: 1. class Dog { }

2. class Harrier extends Dog { } 3.

4. class DogTest {

5. public static void main(String [] args) { 6. Dog d1 = new Dog();

7. Harrier h1 = new Harrier(); 8. Dog d2 = h1;

9. Harrier h2 = (Harrier) d2; 10. Harrier h3 = (Harrier) d1; 11. } 12. }

哪一个是对的?(B)

A. 编译失败

B.运行的时候有异常抛出 C.创建了两个 Dog 对象

D.创建了两个 Harrier 对象 E.创建了三个 Harrier 对象

100. 现有:

1. class Guy { String greet() { return “hi “; } }

2. class Cowboy extends Guy { String greet() { return “howdy “; } } 3. class Wrangler extends Cowboy { String greet() { return “ouch! “; } } 4.

5. class Greetings2 {

6. public static void main(String [] args) { 7. Guy g = new Wrangler(); 8. Guy g2 = new Cowboy();

9. Wrangler w2 = new Wrangler();

10. System.out.print(g.greet()+g2.greet()+w2.greet()); 11. } 12. } 结果是什么?(C)

A. hi hi ouch! B.hi howdy ouch! C.ouch! howdy ouch!

D.编译失败

;运行的时候有异常抛出

101. 现有: 2. class Cat {

3. Cat(int c) { System.out.print(“cat“ + c + “ “); } 4. }

5. class SubCat extends Cat {

6. SubCat(int c) { super(5); System.out.print(“cable “); } 7. SubCat() { }

8. public static void main(String [] args) { 9. SubCat s = new SubCat(); 10. } 11. }

结果是什么?(E)

A. cat5 B.cable C.cable cat5 D.cat5 cable E.编译失败

;运行的时候有异常抛出

102. 现有:

1. class Over {

2. int doIt(long x) { return 3; } 3. } 4.

5. class Under extends Over { 6. // insert code here 7. }

和四个方法:

short doIt(int y) { return 4; } int doIt(long x, long y) { return 4; } private int doIt(short y) { return 4; } protected int doIt(long x) { return 4; }

分别插入到第6行,有几个可以通过编译?(E)

A. 0 B.1 C.2 D.3 ;4

103. 类:

class TestApp{ static{

System.out.print(2); }

public TestApp(){

System.out.print(1); } }

当执行new TestApp()后程序的输出是哪项?(E)

A. 1 B.12 C.22 D.2 E.21

104. 下列有关抽象类的叙述正确的是哪项?(D)

A. 抽象类中一定含有抽象方法 B.抽象类中不能有构造方法

C.抽象类既能被实例化也能被继承

D.抽象类的声明必须包含abstract关键字 105. 下列有关接口的叙述错误的是哪项?(C)

A. 接口中只能包含抽象方法和常量 B.一个类可以实现多个接口 C.接口不能被继承

D.类实现接口时必须实现其中的方法

2. int doIt(long x) { return 3; } 3. } 4.

5. class Under extends Over { 6. // insert code here 7. }

和四个方法:

short doIt(int y) { return 4; } int doIt(long x, long y) { return 4; } private int doIt(short y) { return 4; } protected int doIt(long x) { return 4; }

分别插入到第6行,有几个可以通过编译?(E)

A. 0 B.1 C.2 D.3 ;4

103. 类:

class TestApp{ static{

System.out.print(2); }

public TestApp(){

System.out.print(1); } }

当执行new TestApp()后程序的输出是哪项?(E)

A. 1 B.12 C.22 D.2 E.21

104. 下列有关抽象类的叙述正确的是哪项?(D)

A. 抽象类中一定含有抽象方法 B.抽象类中不能有构造方法

C.抽象类既能被实例化也能被继承

D.抽象类的声明必须包含abstract关键字 105. 下列有关接口的叙述错误的是哪项?(C)

A. 接口中只能包含抽象方法和常量 B.一个类可以实现多个接口 C.接口不能被继承

D.类实现接口时必须实现其中的方法

本文来源:https://www.bwwdw.com/article/s7op.html

Top