開始出現比較多跟前面類似的題目

如果還有模糊的地方,趕快趁機會整理吧

 

第二十六題:

Given:

interface Jumper {
    public void jump();
}
...

class Animal {
}
...

class Dog extends Animal {
    Tail tail;
}
...

class Beagle extends Dog implements Jumper {
    public void jump() {
    }
}
...

class Cat implements Jumper {
    public void jump() {
    }
}

Which three are true? (Choose three.)

A. Cat is-a Animal
B. Cat is-a Jumper
C. Dog is-a Animal
D. Dog is-a Jumper
E. Cat has-a Animal
F. Beagle has-a Tail

答案:BCF

執行結果:無

題目範圍:物件觀念、implements

解析:

JAVA為了要增加程式的穩定性與安全性,禁止了多重繼承的功能
不過實作(implements) 是可以有一個以上的
實作通常是強調類別的功能性,實作也是屬於(is-a)的關係
我們說狗繼承了動物;狗屬於動物

狗也可以實作跳躍者;狗也屬於跳躍者
狗也可以實作肉食者;狗也屬於肉食者……等等
像人一樣,每個人可以同時擁有多種身分,不過我們的本質就只是人,你,XXX,繼承了人

 

第二十七題:

Given:

class One {
    void foo() {
    }
}

class Two extends One {
    // insert method here
}

Which three methods, inserted individually at line 14, will correctly complete class Two? (Choose three.)

A. int foo(){/* more code here */}
B. void foo(){/* more code here */}
C. public void foo(){/* more code here */}
D. private void foo(){/* more code here */}
E. protected void foo(){/* more code here */}

答案:BCE

執行結果:無

題目範圍:物件觀念

解析:

繼承時,方法使用的限制

請參閱:第十二題

 

第二十八題:

Given:

class X {
    X() {
        System.out.print(1);
    }

    X(int x) {
        this();
        System.out.print(2);
    }
}

public class Y extends X {
    Y() {
        super(6);
        System.out.print(3);
    }

    Y(int y) {
        this();
        System.out.println(4);
    }

    public static void main(String[] a) {
        new Y(5);
    }
}

What is the result?

A. 13
B. 134
C. 1234
D. 2134
E. 2143
F. 4321

答案:

執行結果:答案中

題目範圍:物件觀念

解析:

類別實體化時建構子運作的順序

請參閱:十六題十八題

 

第二十九題:

Given:

1. public class A{
2.     public void doit(){
3. }
4. public String doit(){
5.     return "a";
6. }
7. public double doit(int x){
8.     return 1.0;
9. }
10.}

What is the result?

A. An exception is thrown at runtime.
B. Compilation fails because of an error in line 7.
C. Compilation fails because of an error in line 4.
D. Compilation succeeds and no runtime errors with class A occur.

答案:

執行結果:無

題目範圍:基本觀念

解析:

方法的多載、方法的使用限制

請參閱:

 

第三十題:

Given:

public class SimpleCalc {
    public int value;

    public void calculate() {
        value += 7;
    }
}

And:

public class MultiCalc extends SimpleCalc {
    public void calculate() {
        value -= 3;
    }

    public void calculate(int multiplier) {
        calculate();
        super.calculate();
        value *= multiplier;
    }

    public static void main(String[] args) {
        MultiCalc calculator = new MultiCalc();
        calculator.calculate(2);
        System.out.println("Value is: " + calculator.value);
    }
}

What is the result?

A. Value is: 8
B. Compilation fails.
C. Value is: 12
D. Value is: -12
E. The code runs with no output.
F. An exception is thrown at runtime.

答案:已於2012/01/17更正,感謝網友提醒

執行結果:答案中

題目範圍:物件觀念

解析:

這題不難,慢慢看就可以做出來
value
預設為0
value-=3
value-3
value+=7
value4
value *= multiplier;
value8

arrow
arrow

    yaya741228 發表在 痞客邦 留言(5) 人氣()