当前位置:首页 >> 其它课程 >>

A卷


华南农业大学期末考试试卷(A 卷)
2011-2012 学年第 2 学期 考试类型: (闭卷)考试 学号


考试科目: 面向对象程序设计 考试时间: 120 分钟 年级专业 二 三 四 总分

姓名 题号 得分 评阅人 一



得分
I.Single choice

(60 points) 1. Which of the following statements compiles OK? A. String #name = "Jane Doe"; B. int $age = 24; C. Double _height = "123.5"; D. double ~temp = 37.5; 2. What are the extension names of Java source file and executable file? A. .java and .exe B. .jar and .class C. .java and .class D. .jar and .exe 3. Given:
10. class CertKiller { 11. static void alpha() { /*more code here*/ } 12. void beta() { /*more code here*/ } 13. }

线

Which statement is wrong? A. CertKiller.beta() is a valid invocation of beta() B. CertKiller.alpha() is a valid invocation of alpha() C. Method beta() can directly call method alpha() D. The method beta() can only be called via references to objects of CertKiller 4. Which method name does not follow the JavaBeans standard on Accessor/Mutator? A. getSize B. setCust C. notAvailable D. isReadable 5. Read the following class ClassA, which statement is correct after executing “new ClassA().getValue();”
public class ClassA { public int getValue() { int value = 0; boolean setting = true; String title = "Hello"; if (value || (setting && title == "Hello")) { return 1; } if (value == 1 & title.equals("Hello")) { return 2; } } } A. There is compilation error for ClassA B. It outputs 2 C. It outputs 1 D. Executes OK, but no output

1

6. Given:
public void testIfA() { if (testIfB("true")) { System.out.println("True"); } else { System.out.println("Not true"); } } public Boolean testIfB(String str) { return Boolean.valueOf(str); } What is the result when method testIfA is invoked? A. True B. Not true

C. An exception is thrown at runtime 7. Given:

D. Compilation fails

public class Pass { public static void main(String[] args) { int x = 5; Pass p = new Pass(); p.doStuff(x); System.out.print(" main x = " + x); } void doStuff(int x) { System.out.print("doStuff x = " + x++); } }

What is the result? A. doStuff x = 6 main x = 6 C. doStuff x = 5 main x = 6 8. Given:
String a = "str"; String b = new String("str"); String c = "str"; System.out.print(a == b); System.out.print(a == c);

B. doStuff x = 5 main x = 5 D. doStuff x = 6 main x = 5

What is the result? A. truefalse C. falsetrue 9. Given:
33. 34. 35. 36. 37. 38. 39. 40. 41.

B. truetrue D. falsefalse

try { // smoe code here } catch (NullPointerException el) { System.out.print("a"); } catch (RuntimeException el) { System.out.print("b"); } finally { System.out.print("c"); } What is the result if NullPointerException occurs on line 34? A. ac B. abc C. c D. No output

10.Which of the following statements is correct about Java package? A. If there is no package statement used, the current class will not be in any package. B. Package is a way to manage source code, each package contains several “.java” files. C. Using one “import” statement can include the classes from one or more packages. D. A package can contain sub-packages.

2

11.Given:
1. public class Target { 2. private int i = 0; 3. public int addOne() { 4. return ++i; 5. } 6. }

And:
1. public class Client { 2. public static void main(String[] args) { 3. System.out.println(new Target().addOne()); 4. } 5. } Which change can you make to Target without affecting Client? A. Line 4 of class Target can be changed to return i++; B. Line 2 of class Target can be changed to private int i = 1; C. Line 3 of class Target can be changed to private int addOne() { D. Line 2 of class Target can be changed to private Integer i = 0;




12.Given:
public abstract class Shape { int x; int y; public abstract void draw(); public void setAnchor(int x, int y){ this.x = x; this.y = y; } } And a class Circle that extends and fully implements the Shape class. Which is correct? A. Shape s = new Shape(); s.setAnchor(10, 10); s.draw(); B. Circle c = new Shape(); c.setAncohor(10, 10); c.draw(); C. Shape s = new Circle(); s.setAnchor(10, 10); s.draw(); D. Shape s = new Circle(); s.Shape.setAnchor(10, 10); s.shape.draw();

线

13.In Java event handling model, which object responses to and handles events? A. event source object B. listener object C. event object D. GUI component object 14.Given:
public static void main(String[] args) { System.out.print(method2(1, method2(2, 3, 4))); } public int method2(int x1, int x2) { return x1 + x2; } public float method2(int x1, int x2, int x3) { return x1 + x2 + x3; }

What is the result? A. Compilation fails C. 10

B. 0 D. 9

3

15.Given:
public class Test { public Test() { System.out.print("test "); } public Test(String val) { this(); System.out.print("test with " + val); } public static void main(String[] args) { Test test = new Test("wow"); } }

What is the result? A. test C. test with wow 16.Given:

B. test test with wow D. Compilation fails

public class ItemTest { private final int id; public ItemTest(int id) { this.id = id; } public void updateId(int newId) { id = newId; } public static void main(String[] args) { ItemTest fa = new ItemTest(42); fa.updateId(69); System.out.println(fa.id); } }

What is the result? A. Compilation fails B. An exception is thrown at runtime C. A new Item object is created with the preferred value in the id attribute D. The attribute id in the Item object remains unchanged 17.Method m() is defined as below in a parent class, which method in the sub-classes overrides the method m()?
protected double m() { return 1.23; } A. protect int m() { return 1; } B. public double m() { return 1.23; } C. protected double m(double d) { return 1.23; } D. private double m() { return 1.23; }

18.Given:
1. public class abc { 2. int abc = 1; 3. void abc(int abc) { 4. System.out.print(abc); 5. } 6. public static void main(String[] args) { 7. new abc().abc(new abc().abc); 8. } 9. }

Which option is correct? A. Compilation fails only at line 2, 3 C. Compilation fails at line 1, 2, 3, 4 19.Which declaration is correct? A. abstract final class Hl { } B. abstract private move() { } C. protected private number; D. public abstract class Car { }

B. Compilation fails only at line 7 D. The program runs and outputs 1

4

20.Given:
public class Hello { String title; int value; public Hello() { title += "World"; } public Hello(int value) { this.value = value; title = "Hello"; Hello(); } }



And:
Hello c = new Hello(5); System.out.println(c.title);



What is the result? A. Hello C. Hello World 21.Given:
public abstract interface Frobnicate { public void twiddle(String s); }

B. An exception is thrown at runtime D. Compilation fails

线

Which is a correct class? A. public abstract class Frob implements Frobnicate {
public abstract void twiddle(String s) { } } B. public abstract class Frob implements Frobnicate { } C. public class Frob extends Frobnicate { public void twiddle(Integer i) { } } D. public class Frob implements Frobnicate { public void twiddle(Integer i) { } }

22.Which statement is true about has-a and is-a relationships? A. Inheritance represents an is-a relationship. B. Inheritance represents a has-a relationship. C. Interfaces must be use when creating a has-a relationship. D. Instance variables must be used when creating an is-a relationship. 23.Which option has syntax error?
class Animal { … } class Dog extends Animal { … } class Cat extends Animal { … } A. Animal animal = new Dog(); C. Dog dog = (Dog) new Cat();

B. Cat cat = (Cat) new Animal(); D. Cat cat = new Cat();

24.Assume that class A is a sub-class of class B, which of the following figures illustrates their relationship? A. B. C. D.

5

25.Given:
public class Plant { private String name; public Plant(String name) { this.name = name } public String getName() { return name; } } public class Tree extends Plant { public void growFruit() {} public void dropLeaves() {} }

Which statement is true? A. The code will compile without changes. B. The code will compile if the following code is added to the Plant class:
public Plant() { this("fern"); }

C. The code will compile if the following code is added to the Plant class
public Plant(){Plant("fern");}

D. The code will compile if the following code is added to the Tree class:
public Tree() { Plant(); }

26.Which of the following statement is correct about exception handling? A. Exception is an error occurred in runtime, so it should be avoided by debugging. B. Exception is described by the form of objects, their classes are organized by a single-root inheritance hierarchy (级联结构). C. There is no exception any more after executing a try-catch-finally structure. D. In Java, all exceptions should be caught and handled in runtime. 27.What are the two major parts of an object? A. property and behavior B. identity and content C. inheritance and polymorphism D. message and encapsulation 28.Which is the correct output according to the program given bellow?
public static void main(String[] args) { Scanner scanner = new Scanner("this is one that is two"); scanner.useDelimiter(" is"); // there is a space before "is" while (scanner.hasNext()) { System.out.print(scanner.next()); } } A. this one that two B. th one that two C. thone that two D. this is one that is two

29.Which fragment can not correctly create and initialize an int array? A. int[] a = {1, 2}; B. int[] a; a = new int[2]; a[0] = 1; a[1] = 2; C. int[] a = new int[2]{1, 2}; D. int[] a = new int[]{1, 2}; 30.What is the output of the following program?
String s1 = "Java"; String s2 = new String("Java"); System.out.println((s1 == s2) + "," + (s1.equals(s2))); A. true,true B. true,false C. false,true D. false,false

6

得分
II.Write the output of the given code. (12 points) 1. (6 points)
public class Bootchy { int bootch; String snootch; public Bootchy() { this("snootchy"); System.out.print("first "); } public Bootchy(String snootch) { this(420, "snootchy"); System.out.print("second "); }





public Bootchy(int bootch, String snootch) { this.bootch = bootch; this.snootch = snootch; System.out.print("third "); } public static void main(String[] args) { Bootchy b = new Bootchy(); System.out.print(b.snootch + " " + b.bootch); } }

线

2. (6 points)
public class TestJava { class A { public A(int v1, int v2) { this.v1 = v1; this.v2 = v2; } int v1; int v2; } void m1(A a1, A a2) { A t; t = a1; a1 = a2; a2=t; } void m2(A a1, A a2) { A t = new A(a1.v1, a1.v2); a1 = new A(a2.v1, a2.v2); a2 = new A(t.v1, t.v2); } void m3(A a1, A a2) { A t = a1; a1.v1 = a2.v1; a1.v2 = a2.v2; a2.v1 = t.v1; a2.v2 = t.v2; } public static void main(String[] args) { TestJava tj = new TestJava(); A a1 = tj.new A(0, 2); A a2 = tj.new A(1, 3); tj.m1(a1, a2); System.out.println(a1.v1+ " " + a2.v2 + " "); tj.m2(a1, a2); System.out.println(a1.v1+ " " + a2.v2 + " "); tj.m3(a1, a2); System.out.println(a1.v1+ " " + a2.v2 + " "); } }

7

得分
III.(16 points) Given:
interface Repeater { /** * Repeat the char `c' n times to construct a String. * @param c the character to be repeated * @param n the times of repeat * @return a string containing all the `c' */ String repeat(char c, int n); } public static void main(String[] args) { Repeater arrayRepeater = new ArrayRepeater(); //(1) Repeater stringRepeater = new StringRepeater(); //(2) Repeater stringBufferRepeater = //(3) Repeater r = //(4) long startTime = System.nanoTime(); for (int i = 0; i < 1000; i++) { r.repeat('s', 10000); } long endTime = System.nanoTime(); long duration = endTime - startTime; System.out.println(duration); } 1. Complete the definition of class ArrayRepeater which appears at //(1) to implement the Repeater by constructing the string using new String(char[]). 2. Complete the definition of class StringRepeater which appears at //(2) to implement the Repeater using string concatenation (use + to join strings). 3. Complete the definition of strigBufferRepeater at //(3) by defining an anonymous class implementing Repeater (i.e. new Repeater(){ ... }), using StringBuffer to construct

the required string. 4. The code below //(4) is designed to test the performance of Repeater r. By assigning different implementation of Repeater to r, the code can output the consumed time (duration). Answer the question: arrayRepeater, stringRepeater, stringBufferRepeater, which consumes the longest time?

得分
IV.Given the code bellow, write the necessary classes to meet the following requirements using the knowledge of interface and polymorphism. (12 points)
public class Test { public static void main(String[] args) { Object[] shapes = { new Circle(5.0), //(3) new Rectangle(5.0, 4.5), //(4) new Circle(3.5) }; //(5) System.out.println("Total Area: " + sumArea(shapes)); } public static double sumArea(Object[] shapes) { double sum = 0; for(int i = 0; i < shapes.length; i++) { if (shapes[i] instanceof CalcArea) { //(1) sum += ((CalcArea) shapes[i]).getArea(); //(2) } } return sum; } } The interface CalcArea in comment //(1) and //(2) is undefined; the class Circle and Rectangle in comment //(3), //(4) and //(5) are undefined either. Please define: 1. interface CalcArea 2. class Circle 3. class Rectangle 8


相关文章:
A卷答案
湘潭大学 2008 年上学期 2005 级《钢结构设计》课程期末考试 (A 卷答案) 适用年级专业 2005 级土木工程 学院土木工程与力学学院 专业 考试时间 120 分钟土木工程...
A卷答案
得分 6. 在放大电路中,如果测得某晶体管三个极的电位分别为 9V,2.5V,3.2V,那么这三个 极分别为 B A卷 第 1 页(共页) A卷 第 2 页(共页) 1.判断...
A卷答案
免费 08年a卷答案 暂无评价 2页 免费 文学史A卷的答案 2页 1财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
A卷答案
免费 08年a卷答案 暂无评价 2页 免费 文学史A卷的答案 2页 1财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
A卷
A卷_建筑/土木_工程科技_专业资料。A卷地基基础模拟试题(A)一、填空题(每空 1 分,共 50 分) 01. 粘性土按含水量不同具有不同的状态,包括 和。 的状态 ...
A卷答案
3页 5财富值 A卷答案1 暂无评价 2页 1财富值 2008年A卷答案 暂无评价 2页 免费 08年a卷答案 暂无评价 2页 免费 文学史A卷的答案 2页 1财富值喜欢...
A卷及答案
A卷及答案_信息与通信_工程科技_专业资料。GSM考试试题及答案(A)联通江西分公司 2010 年网络优化人员岗位资格认证考试试题 满分 *** 分题 总分合 判断 填单多...
A卷(有答案)
安全生产管理人员培训班考试试卷试卷类别: A 卷 工作单位 姓名 厂部 身份证号 考试时间: 科室 毛 分钟 题号 得分 一 二 三 四 五 总分 得分 评卷人 一、...
A卷及答案
A卷及答案_英语学习_外语学习_教育专区。练习英语大学英语模拟试题(A 卷一)(07 卷) College English Test 请考生注意:此卷为客观题,请在机读答题卡相应位置上...
A卷-附答案
河南神火煤业郑州区域管理公司技术管理规范试卷(A 卷)单位: 姓名: 说明:试卷共 100 题,均为不定项选择题,每题 1 分,共计 100 分。 1、排水泵的吸上真空度...
更多相关标签:
抽象 a卷 | 阿卷1128 | a卷和b卷的区别 | 阿卷 | a卷斗鱼 | 抽象tv | 啊卷 | 公务员a卷和b卷的区别 |