做基础框架的时候会用得上,一般应用层面很少,不过这种东西,基本现在很多开源框架都已经给你封装好了,自己基本用不着写。典型的除了楼上讲的Hibernate之外,其实Spring也用到了。经典的就是xml或者properties里面写上了配置,然后在Java类里面解析xml或properties里面的内容,得到一个字符串,然后用反射,根据这个字符串获得某个类的实例,这样就可以动态配置一些东西,不用每一次都要在代码里面去new或者做其他的事情,以后要改的话直接改配置文件,代码维护起来就很方便了,同时有时候要适应某些需求,Java类里面不一定能直接调用另外的方法,这时候也可以通过反射机制来实现。
总的来说,自己写的很少,具体什么时候要用那要看需求,楼上说得对,无非就是根据一个String来得到你要的实体对象,然后调用它原来的东西。但是如果是要自己写框架的话,那就会用得比较多了。
用于某些模块集成场合。
当不能在开发时即得到其目标类完整接口定义,只能根据命名规则去进行集成时。
并可以延伸到包装、动态代理等模式的应用中。
有时候也干些hack的事情,比如绕过private保护机制啥的。
很少机会用。
hibernate中用到,但不用自己写。
根据String 调用方法,可用到。
无非就是得到构造、属性、方法
反射可以用在代理、日志中去!
反射是实现一些框架的原理的
一般都是人家写好的你直接用就行了
一般很少用到