码迷,mamicode.com
首页 > 其他好文 > 详细

什么式反射?

时间:2019-07-07 16:08:04      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:ext   object   java   强制转换   span   必须   local   失败   ble   

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: 使用反射

 

 

 

 

 

 

 

 

 

什么式反射?

标签:ext   object   java   强制转换   span   必须   local   失败   ble   

原文地址:https://www.cnblogs.com/abcdjava/p/11146473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!