背景
我们要学会将不同的东西看成是一样的,从C#中的的猫和老鼠的事件与委托到java中的事件与委托,再返回来看java中的事件与委托和java中的反射关系,会发现别有洞天。
方案
java中的事件与委托
java中的反射
我们初步进行推断 反射中的Class 类对应Delegate类,Object对应具体实现接口的老鼠类,Method对应的是Event类。
老师提出
这里只传一个方法名称,而并没有表明是哪个对象的方法,假设有这样一种情况:forName后边传的是事件与委托对应的那个接收消息类的接口,那下边的object对象就无法明确是哪个子类的对象,那下边classObj.getMethod()就没有办法知道具体是哪个子类的方法,这样是不严谨的,如何解决这种问题呢?
我们想的是在传参的时候将具体子类对象的信息传过来,具体怎么进行实施呢?
下边说实例化对象的时候会直接抛出异常,那也就是说根本走不到调方法对象那一步,那还有没有别的方法可以直接获取方法对象的时候直接将子类的对象传过去呢?
总结
将java中的反射java中的事件与委托还有C#中的事件与委托进行统一