反射:框架设计的灵魂
*框架∶半成品软件。可以在框架的基础上进行软件开发,简化编码*反射:将类的各个组成部分封装为其他对象,这就是反射机制
*好处:
1.可以在程序运行过程中,操作这些对象。
1.可以在程序运行过程中,操作这些对象.
获取class对象的方式:
1. class.forName("全类名")∶将字节码文件加载进内存,返回class对象2.类名.class :通过类名的属性class获取
2.类名.class:通过类名的属性class获取
3.对象.getclass() : getclass()方法在object类中定义着。
// 1.加载配置文件
// 1.1创建Properties对象
Properties properties = new Properties();
// 1.2加载配置文件,转换为一个集合
// 1.2.1获取class目录下的配置文件的
// ClassLoader reflect = Class.forName("Reflect").getClassLoader();
ClassLoader classLoader = Reflect.class.getClassLoader();
InputStream resourceAsStream = classLoader.getResourceAsStream("pro.properties");
properties.load(resourceAsStream);
// 2.获取配置文件中定义的数据
String className = properties.getProperty("className");
String methodName = properties.getProperty("methodName");
String fields = properties.getProperty("fields");
// 3.加载该类进入内存
Class<?> aClass = Class.forName(className);
// 4.创建对象
Object o = aClass.newInstance();
// 5.获取对象的方法
Method method = aClass.getMethod(methodName);
// Field[] classFields = aClass.getFields();
// 6.执行方法
method.invoke(o);
pro.properties
className=com.baidu.vo.BaoZi
methodName=toString
来源:30天精通JavaWeb(IDEA版)_JavaEE基础教程