软件工程JAVA反射技术

Posted yyyyfly1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程JAVA反射技术相关的知识,希望对你有一定的参考价值。

JAVA反射技术

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

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

通过反射构建对象

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

技术图片

 

 

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

技术图片

 

 

 

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

  技术图片

 

 

 

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

技术图片

 

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

 

技术图片

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

反射方法

  

以上是关于软件工程JAVA反射技术的主要内容,如果未能解决你的问题,请参考以下文章

软件测试——java反射机制

004-诠释 Java 工程师

Java工程师必备精选文章50篇:IO流反射机制注解

java—反射

Java 初步了解反射机制

Java工程师以后发展路径是啥?