課程
/后端開發
/Java
/反射——Java高級開發必須懂的
為什么invoke的時候需要把a1對象入參,m1不就是通過a1.getClass()得到的么?
2016-10-21
源自:反射——Java高級開發必須懂的 5-1
正在回答
這樣想一下,就明白了,如果你不把對象a1傳入,那么到底是哪個對象來操作方法呢!
像 a1 這樣的對象可以new 出很多,比如a2,a3................: 他們在堆內存中是不同的對象!
當然來區分對象!,可以就可以明確那個對象 是 a1 還是其他對象來操作方法了
EverL 提問者
可是如果我已經有類的對象,又知道方法名,又知道對應的參數,還要反射來干什么?
m1是通過c.getMethod得到的,這時候c已經是類類型了,而a1是類的實例
舉報
反射,Java高級開發必須要懂的知識點,學好Java高級課程的基礎
1 回答m2.invoke(a1)
1 回答方法的反射a1
3 回答為什么c1 or c2 or c3不是要實例兩下才能得到Foo類的對象?
1 回答為什么使用newInstantce()創建新對象時,需要強制類型轉換?
3 回答為什么傳入參數就報錯了
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-11-05
這樣想一下,就明白了,如果你不把對象a1傳入,那么到底是哪個對象來操作方法呢!
像 a1 這樣的對象可以new 出很多,比如a2,a3................: 他們在堆內存中是不同的對象!
當然來區分對象!,可以就可以明確那個對象 是 a1 還是其他對象來操作方法了
2018-11-26
可是如果我已經有類的對象,又知道方法名,又知道對應的參數,還要反射來干什么?
2016-10-21
m1是通過c.getMethod得到的,這時候c已經是類類型了,而a1是類的實例