Re: 請問一下關於建構子的覆載

看板java作者 (骨頭)時間18年前 (2006/03/08 11:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《threesmall.bbs@bbs.badcow.com.tw (不可以)》之銘言: : 我照著書上的範例打的程式: : public class Animal : { : private int legs; : public Animal() : { : setLegs(4); : } : public Animal(int l) : { : setLegs(l); : } : public void eat() : { : System.out.println("Eating..."); : } : public void move() : { : System.out.println("Moving..."); : } : public void setLegs(int l) : { : if(l!=0 && l!=2 && l!=4) : { : System.out.println("Wrong number of legs!"); : return; : } : legs=l; : } : public int getLegs() : { : return legs; : } : } 跑一次流程就知道了 : 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. ^ 這是不是打錯字?? 怎麼都是1 跟你上面的System.out.println就不一樣了-.- : 跟書上的結果一樣,但是書上卻說只有animal2的legs數有設定成功,所以顯示是2 : 其餘animal1和animal3的legs都是0 : 跟run出來的結果為什麼不一樣呢? : 請各位大大解答一下,謝謝! 流程會說話‧ :) -- String temp="relax"; | Life just like programing while(buringlife) String.forgot(temp); | to be right or wrong while(sleeping) brain.setMemoryOut(); | need not to say stack.push(life.running); | the complier will stack.push(scouting.buck()); | answer your life stack.push(bowling.pratice()); | Bone everything -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.240.58
文章代碼(AID): #143aqN2C (java)
文章代碼(AID): #143aqN2C (java)