看板java
標 題Re: 請問一下關於建構子的覆載
發信站不良牛牧場 (Thu Mar 9 21:13:38 2006)
轉信站ptt!ctu-reader!Spring!news.nctu!news.ntu!news.au!zoonews.ee.ntu!SimFar
: 跑一次流程就知道了
: : public class Zoo
: : {
: : public static void main(String argv[])
: : {
: : Animal animal1=new Animal();
: 執行Animal()
: => i==4 故不符合(i!=0&&i!=2&&i!=4)的敘述
: => animal.legs=4
: : Animal animal2=new Animal();
: 執行Animal() => setLegs(4)
: => i==4 故不符合(i!=0&&i!=2&&i!=4)的敘述
: => anima2.legs=4
: : Animal animal3=new Animal(10);
: 執行Animal(int k) => setLegs(k)
: => i==10 故符合(i!=0&&i!=2&&i!=4)的敘述
: => print error! =>
animal3.legs 沒有被給值 所以是0
: : animal1.setLegs(3);
: => i==3 故符合 敘述
: => print error! =>
animal1.legs維持原樣 (4)
: : animal2.setLegs(2);
: => i==2 故不符合 敘述 => animal2.legs=2
: : System.out.println("animal1 has "+animal1.getLegs()+"legs.");
: 4
: : System.out.println("animal2 has "+animal2.getLegs()+"legs.");
: 2
: : System.out.println("animal3 has "+animal3.getLegs()+"legs.");
: 0
: : }
: : }
: : 執行結果是
: : Wrong number of legs!
: : Wrong number of legs!
: : animal1 has 4 legs.
: : animal1 has 2 legs.
: ^
: : animal1 has 0 legs.
: ^
Sorry!是animal1 has 4 legs
animal2 has 2 legs
animal3 has 0 legs
我明白了,謝謝,因為書上的結果跟我跑出來的一樣,但是書上的解說卻不一樣
被睜眼說蝦話的書誤導了,謝謝各位!
: 這是不是打錯字?? 怎麼都是1 跟你上面的System.out.println就不一樣了-.-
: : 跟書上的結果一樣,但是書上卻說只有animal2的legs數有設定成功,所以顯示是2
: : 其餘animal1和animal3的legs都是0
: : 跟run出來的結果為什麼不一樣呢?
: : 請各位大大解答一下,謝謝!
: 流程會說話‧ :)
--
╭──── Origin:
<不良牛牧場> bbs.badcow.com.tw (210.200.247.200)─────╮
│ ↘ Welcome to SimFarm BBS -- From : [202.132.161.246] │
╰◣◣◢ ◢◢《不良牛免費撥接→電話:40586000→帳號:zoo→密碼:zoo》 ◣◣◢ ─╯