作者liu2007 (薯)
看板java
標題[問題] 將callback轉型成原本的class
時間Sun Oct 13 10:34:09 2013
網路上關於callback的範例都是
1.先寫interface,有哪些callback method
2.再寫一個class implement這些callback method
3.要用的時候宣告interface形態的變數 A,再把有implement interface的型態的變數 B
asign給變數 A ,這樣 A 就可以使用 B 變數的callback
我自己對於callback的理解除了網路上講的"寫給別人呼叫"之外,
就是
"不想直接給你整個instance的指標,但是給你[可以執行某些method]的指標 "
可是雖然我只有上述的變數 A ,但如果我知道asign給他的是變數 B ,那我用cast就等於
得到了 B ,這樣跟我所認知的就有所違背了
那請問我的想法是錯在哪邊?
是我所理解的那件事情的解答並不是callback?
還是我少了什麼code??
--
If a child on the street who has nothing is willing to share,
why are we who have everything still so greedy?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 106.1.108.108
1F:推 swpoker:沒有指標! 10/13 10:56
不好意思,請問這是什麼意思呢??
※ 編輯: liu2007 來自: 106.1.108.108 (10/13 11:00)
2F:→ Schelfaniel:目前Java無法直接傳入Method,等Java8或改用Scala吧 10/13 14:11
4F:→ Schelfaniel:Callback比較類似Command模式,可以看Java及Scala寫法 10/13 14:17
5F:推 LaPass:關鍵字 java 反射 10/13 23:06
6F:→ adrianshum:樓樓上:就算是 Java8 也做不到。Java8 的 Lambda 也是 10/14 07:43
7F:→ adrianshum:靠 single method interface 10/14 07:43
8F:→ Chikei:我想原po有啥誤會,主流語言如果是要呼叫物件成員函式的話 10/14 11:37
9F:→ Chikei:(應該)都會帶入instance ptr的,差別只在java runtime type 10/14 11:39
10F:→ Chikei:info.給的夠多可以輕易找出最終的implementation class 10/14 11:41
11F:→ swpoker:inner class表示:我需要宣告嗎? 10/14 11:50