java 对缺乏潜在类型机制的补偿 :反射
来源:互联网 发布:python中的迭代器 编辑:程序博客网 时间:2024/04/29 15:33
package lu.generics;import static lu.utils.Print.*;import java.lang.reflect.Method;/* * 通过反射,CommunicateReflectively.perform()能够动态地确定所需要的方法是否可用并调用他们。 * 他甚至能够处理Mime只有一个必须的方法这一事实,并能够部分实现其目标。 * 反射将所有的类型检查都转移到了运行时,因此在许多情况下并不是我们所希望的。*/class Mime{public void walkAgainstTheWind(){}public void sit(){print("Pretending to sit");}public void pushInvisibleWalls(){}public String toString(){return "Mine";}}class SmartDog{public void speak(){print("Woof!");}public void sit(){print("Sitting");}public void reproduce(){}}class CommunicateReflectively{public static void perform(Object speaker){Class<?> spkr=speaker.getClass();try{try{Method speak=spkr.getMethod("speak");speak.invoke(speaker);}catch(NoSuchMethodException e){print(speaker+" cannot speak");}try{Method sit=spkr.getMethod("sit");sit.invoke(speaker);}catch(NoSuchMethodException e){print(speaker+" cannot sit");}}catch(Exception e){throw new RuntimeException(speaker.toString(),e);}}}public class LatentReflection { public static void main(String[]args){ CommunicateReflectively.perform(new SmartDog()); CommunicateReflectively.perform(new Robot()); CommunicateReflectively.perform(new Mime()); }}
0 0
- java 对缺乏潜在类型机制的补偿 :反射
- 15.17 对缺乏潜在类型机制的补偿
- JAVA泛型的潜在类型机制
- java潜在类型机制的具体实现
- 用反射实现潜在类型机制
- 《Java编程思想》潜在类型机制
- 潜在类型机制
- java中利用反射机制绕开编译器对泛型的类型限制
- 对JAVA反射机制的认识
- 对JAVA反射机制的认识
- 对java反射机制的理解
- 对Java反射机制的认识
- 对Java反射机制的总结
- 对java反射机制的一些理解
- 对java反射机制的理解
- reverse_iterator的补偿机制
- Java反射机制之类类型
- 关于Java缺乏多继承机制的探讨
- C#课后习题---单选按钮实验
- Socket理解
- 博客管理记录及生活笔记
- hdu 5410 CRB and His Birthday(01+多重背包 dp)
- Search in Rotated Sorted Array
- java 对缺乏潜在类型机制的补偿 :反射
- NOIP2007普及组 纪念品分组 贪心
- Cocos2dx - EventDispatcher事件分发器学习
- 动态规划—Problem J
- Apache 的 httpd.conf 详解(很实用)
- 安装双系统(windows7 + centos)
- A Beautiful Array
- Python3.0没有了raw_input函数
- JavaScript—内置对象