Re: [問題] 能否在迴圈裡面呼叫 anonymous class 的 method?

看板java作者 (天真可愛CQD)時間13年前 (2012/07/24 17:21), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《LaPass (LaPass)》之銘言: : 推文的時間太久了.... : 直接回 : 你把那一段改成這樣就好了 : class Cat{ : public void miew(){ : //do something : } : } : Cat cat=new Cat(); : for(;;){ : cat.miew(); : } 那個,我的意思是 能不能不建立新的 Class 而呼叫無名 Class 的 function [汗] 我還是講一下我碰到的實際狀況好了.... 我現在有個肥吱吱的 Class John,我想要偷 John 的 protected method money() 來用 (我知道偷錢是不好的行為,不過這邊就先不管了吧[小聲]) 於是我想這麼搞 // new John().money(); // can't do this new John(){ public void steal(){ money(); } }.steal(); 可是如果我得在迴圈裡面用到這個 method ,那就沒輒了 除非重複 new 新的 John 出來 所以我想找有沒有辦法在迴圈裡面重複呼叫繼承自 John 的 anonymous class 的 steal(); 當然這個例子是可以用 inner class 繼承 John 來做,不過我想找不用 搞個 class 來繼承就能達到的作法,這樣可以確保相關的特殊邏輯都集 中在一頁的範圍內,排版會好讀一點... 如果不行的話我大概還是會搞個 inner class 來繼承就是了... 另外想避開 reflection 的原因是效能的 overhead Java 1.4 的 reflection 我覺得效能是沒有很好 而且 Java 的 reflection 寫起來醜死了,不好讀 /__\ -- 這閃電拳能射出雷射光,威力每平方公分一萬億瓦特 威力無比,拳到之處,攻無不克 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.113.189 ※ 編輯: GALINE 來自: 60.244.113.189 (07/24 17:24)

07/24 17:35, , 1F
也只能繼承或用反射了吧.... 汗
07/24 17:35, 1F
文章代碼(AID): #1G3caTcF (java)
討論串 (同標題文章)
文章代碼(AID): #1G3caTcF (java)