Re: [問題] 內部類別的用途?

看板java作者 (godfat 真常)時間15年前 (2008/12/19 14:07), 編輯推噓5(500)
留言5則, 5人參與, 最新討論串8/8 (看更多)
: 推 etman395:很清楚~要是能寫上個範例程式就更清楚了 1D 12/19 13 : → adrianshum:太貪心了 =_= 12/19 14 隨手寫的,就不解釋了。 godfat ~/p/t/java> java Strategy Monster@4ed9ff hp after walking: 9 Monster@4ed9ff hp after jumping: 8 Monster@4ed9ff got mad. Monster@4ed9ff hp after walking: 6 Monster@4ed9ff hp after jumping: 3 godfat ~/p/t/java> cat Strategy.java import static java.lang.System.out; class Monster{ public Monster(){ hp_ = 10; mood_ = new Happy(); } public void walk(){ mood_.walk(); out.printf("%s hp after walking: %d\n", this, hp_); } public void jump(){ mood_.jump(); out.printf("%s hp after jumping: %d\n", this, hp_); } public void got_mad(){ mood_ = new Mad(); out.printf("%s got mad.\n", this); } protected abstract class Mood{ abstract void walk(); void jump(){ hp_ -= 1; } }; private class Mad extends Mood{ void walk(){ hp_ -= 2; } void jump(){ hp_ -= 2; super.jump(); } } private class Happy extends Mood{ void walk(){ hp_ -= 1; } } private Mood mood_; private int hp_; } class Strategy{ public static void main(String[] args){ Monster m = new Monster(); m.walk(); m.jump(); m.got_mad(); m.walk(); m.jump(); } } -- Hear me exalted spirits. Hear me, be you gods or devils, ye who hold dominion here: I am a wizard without a home. I am a wonderer seeking refuge. Sacrifice -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.28.18

12/19 15:02, , 1F
沒寫註解要推好久..晚點來看1D
12/19 15:02, 1F

12/19 18:47, , 2F
寫Swing的Listener就常有機會用inner class
12/19 18:47, 2F

12/19 20:43, , 3F
嗯嗯 我覺得listener用這個比較方便
12/19 20:43, 3F

12/21 03:39, , 4F
this是指此物件嗎 ? 會print出什麼 @@?
12/21 03:39, 4F

12/21 11:57, , 5F
我猜應該會叫用到隱藏的 .toString 印出類別名稱
12/21 11:57, 5F
文章代碼(AID): #19IpeQDg (java)
討論串 (同標題文章)
文章代碼(AID): #19IpeQDg (java)