java中的反射有什么用 啊,在哪方面应用比较广 啊,常用吗
比如说,eclipse对你引用的包中的类能提示关键字和函数;hibernate可以映射字段到数据库;一些xml/json序列化库可以创建和自动保存恢复数据;spring可以动态创建类;需要在类外部调用私有函数;判断一个Object类型具体是什么类型,是否拥有某个接口……这些都得用反射。
动态创建对象实例,比如通过注解和数据库表对应,还有gson包,把json字符串解析为对象实例等等
j2ee项目,主动使用的不多,但是,框架使用的很多,比如spring的aop就是使用代理技术的,感兴趣的话,可以看下源码
反射有两大用处,运行时类型识别(rtti)和动态创建(dc)。对于一般开发者,不非常常用,对于类库和框架的编写者,比较常用。
这个是Java 程序员 必须掌握的啊 懂了 JAVA反射 才能更好的理解各个框架的底层实现 比如 SpringIOC Hibernate 都大量运用了 反射 而且 在开发中 自己偶尔自己写工具类时也需要运用到 JAVA反射 必须掌握
反射就是:在任意一个方法里:
1.如果我知道一个类的名称/或者它的一个实例对象, 我就能把这个类的所有方法和变量的信息找出来(方法名,变量名,方法,修饰符,类型,方法参数等等所有信息)。
2.如果我还明确知道这个类里某个变量的名称,我还能得到这个变量当前的值。
2.当然,如果我明确知道这个类里的某个方法名+参数个数类型,我还能通过传递参数来运行那个类里的那个方法。
Java 牛逼的地方就是反射