亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

很多地方值得思考

“Method md =” + infce.getName() + ".class.getMethod(\"" + m.getName() + "\");"這一串是什么意思?是不是先拿到Moveable的類類型再通過move()方法...為什么我要改成infce.getSimpleName()才能運行成功?

正在回答

1 回答

1、這句話的意思是通過方法的反射,得到Moveable類的某個方法;

2、根據API中的定義,Class.getSimpleName()方法是獲取源代碼中給出的‘底層類’簡稱 (Moveable)

而Class.getName();以String的形式,返回Class對象的‘實體’名稱 (com.imooc.proxy.Moveable)

0 回復 有任何疑惑可以回復我~
#1

Lovecanon 提問者

非常感謝!
2015-02-16 回復 有任何疑惑可以回復我~
#2

windy_yong

為什么不能使用getName,而要使用getSimpleName,我知道都在同一個包下,所以也不用包名,但是使用帶有包名的類全名應該也沒錯啊
2016-02-17 回復 有任何疑惑可以回復我~
#3

windy_yong 回復 Lovecanon 提問者

再重新試了一下,兩個其實都行,我之前出現不行的情況,是因為我的包名為Proxy.com.imooc.chapter3_1.XXX,然后包路徑下同時有一個Proxy的類,所以可能導致了無法正確解析Proxy是一個包還是一個類,如果修改為正確的話那么兩種方法都可以, 從這里可以看出我們日常命名規范的一些重要性
2016-02-17 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

很多地方值得思考

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號