反射技术
反射就是加载类,并解剖出类的各个部分
反射一般运用在框架中和jdbc的建立连接。
首先框架运行程序,是基于配置文件的。通过解析配置文件,加载类。
加载类的意思就是反射。配置文件告诉框架,类的名称和类的各种方法,框架去创建类,并且解析类的方法。
并且加载类,得到相应的类,然后再调用该类的方法(解剖类的各个部分)。
//加载类的三种方法
//1.
Class clazz=Class.forName("com.chester.inflect.Person");
//2.
Class`clazz1=new Person().getrClass();``
//3.
Class clazz2=Person.class;
//上述三种方法是在本类中加载Person的类,加载完成后调用其方法这整个过程称为反射。
//下面的代码就是加载Person类,并且解析Person类的够造函数,可以说作,反射Person类的构造函数并为其创建对象
Class clazz=Class.forName("com.chester.reflect.Person");
Constructor c=clazz.getConstructor(null);//创建了一个Person类的无参构造函数
Person person=(Person)c.newInstance(null);//创建一个Person的实例,(Object类型,强转为Person类型)
System.out.println(person.name);
//简单写法
Class clazz=Class.forName("com.chester.reflect.Person");
Person person=(Person)clazz.newInstance(null);
System.out.println(person.name);
当然还有反射成员变量和方法。去Class的api中查找,方法类似。