反射

反射:通过二进制的class文件,得到类里面的属性,如方法、构造、成员变量

感受:通过类名加载类,生成实例

static Class forName(String className)
          返回与带有给定字符串名的类或接口相关联的 Class 对象。
  className就是已经定义的类名
 T newInstance()
          创建此 Class 对象所表示的类的一个新实例。

public class Test {

        public static void main(String[] args) throws  Exception {

String str = "T";  //名为T的类

Class clazz = Class.forName(str);  // 加载类T,返回一个Class对象

clazz.newInstance();  //创建一个T的实例

}

class T{
    static {
        System.out.println("T loaded");
    }
    public T() {
        System.out.println("构造被调用");
    }
}

输出结果:T loaded
                  构造被调用

 

在Mybatis中用此方式将类名放到配置文件就能动态加载实体类Employee

反射_第1张图片

你可能感兴趣的:(反射,Java)