【软件工程】JAVA反射技术

JAVA反射技术

  Java 反射技术应用广泛,它能够配置:类的全限定名、方法和参数,完成对象的初始化,甚至是反射某些方法。这样就可以大大增强 Java 的可配置’性, pring IoC 的基本原理也是如此,当然 Spring IoC 的代码要复杂得多。

  Java 的反射内容繁多,包括对象构建、反射方法、注解、参数、接口等。

通过反射构建对象

  Java 中允许通过反射配置信息构建对象,比如 ReflectServicelmpl.java

   然后通过反射的方法去构建它

  这里的代码就是生成一个对象,然后将其返回。下面这行代码的目的就是给类加载器注册了一个类 ReflectServicelmpl 的全限定名,然后通过 newInstance 方法初始化了一个类对象,使用反射的方式也十分简单。

  

  这是一个构建方法,没有任何参数的类的反射生成,所以还剩下一个问题,即如果个类的所有构建方法里都至少存在一个参数,如何用反射构建它

  这里实现了含 个参数的构建方法 将不能用之前的办法将其反射生成对象

  先通过 forName 加载到类的加载器。然后通过 getConstructor 方法,它的参数可以是多个,这里定义为 String.class ,意为有且只有一个参数类型 String 的构建方法。通过这个方法可以对重名方法进行排除,此时再用 newInstance 方法生成对象 只是newInstance方法也多了一个参数“张三 ”而已。实际就等于 object new ReflectServicelmpl2(”张三”),是这里用反射机制来生成这个对象而已。

反射方法

  

猜你喜欢

转载自www.cnblogs.com/yyyyfly1/p/12275411.html