什么式反射?
Posted abcdjava
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么式反射?相关的知识,希望对你有一定的参考价值。
1.对象有编译类型和运行类型
Object obj = new java.util.Date();
编译类型:Object
运行类型(其实就是obj对象真实的类型):java.util.Date
需求:根据对象obj调用Date类中的一个方法,toLocaleString,如何来做?
obj.toLocaleString()代码在编译阶段去编译类型Object中检查是否有该方法,若没有,编译失败.
1.对象有编译类型和运行类型 Object obj = new java.util.Date(); 编译类型:Object 运行类型(其实就是obj对象真实的类型):java.util.Date 需求:根据对象obj调用Date类中的一个方法,toLocaleString,如何来做? obj.toLocaleString()代码在编译阶段去编译类型Object中检查是否有该方法,若没有,编译失败. |
解决方案1:强制转换obj为Date类型,前提:必须知道对象的真实类型是什么? Date d = (Date)obj; d.toLocaleString();//YES
如果我不知道obj的真实类型,那又如何去调用toLolcaeString方法. 如何去做? 解决方案2: 使用反射
|
以上是关于什么式反射?的主要内容,如果未能解决你的问题,请参考以下文章
python-函数式编程,反射,random,md5,pickle,json,re,time