Java反射:框架设计的灵魂
生活随笔
收集整理的这篇文章主要介绍了
Java反射:框架设计的灵魂
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
Java反射:框架设计的灵魂
- 框架:办成品软件,可以在框架的基础上进行开发
- 反射:将类的各个部分封装成对象,这就是反射机制
反射的好处
- 在程序运行的过程中,操作这些对象
- 可以降低程序的耦合性,提高程序的可扩展性
获取class对象的方式
- 多用于配置文件,将类名定义在配置文件中,读取文件,加载类
- 多用于参数传递
- 多用于对象的获取字节码的方式
不论通过哪一种方式获取的Class文件都是同一个
Class对象的功能
获取功能
- 获取成员变量们
- 获取构造方法们
- 获取成员方法们
- 获取类名
实例
写一个“框架”,可以帮我们创建任意类的对象,并且执行其中任意方法
- 步骤:
配置文件
//className=cn.itcast.Person //methodName=eat className=cn.itcast.Student methodName=sleep执行代码
package cn.itcast.test;import java.io.InputStream; import java.lang.reflect.Method; import java.util.Properties;public class ReflectTest {public static void main(String[] args) throws Exception {//1.加载配置文件//1.1创建Properties文件Properties pro = new Properties();//创建properties对象//1.2加载配置文件,转换成一个集合//1.2.1获取Class目录下的配置文件ClassLoader classLoader = ReflectTest.class.getClassLoader();InputStream is = classLoader.getResourceAsStream("pro.properties");pro.load(is);//2.获取配置文件中定义的数据String className = pro.getProperty("className");String methodName = pro.getProperty("methodName");//3.加载该类进内存Class cls = Class.forName(className);//4.创建对象Object obj = cls.newInstance();//5.获取方法对象Method method = cls.getMethod(methodName);//6.执行方法method.invoke(obj);} }总结
以上是生活随笔为你收集整理的Java反射:框架设计的灵魂的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Java软件测试
- 下一篇: 【Java】基于注解开发初探