反射什么—Class类
- 反射就是把Java类中的各种成分映射成一个个的java对象。例如,一个类有:成员变量,方法,构造方法,包等等信息,利用反射技术可以对一个类进行解剖,把各个组成部分映射成一个个对象。
- Class类用于表示.class文件,画图演示一个对象的创建过程。
- 如何得到某个class文件对应的class对象。
类名.class, 对象.getClass() Class.forName(“类名”)
以上三种方式,JVM都会把相应class文件装载到一个class对象中(只装载一次)
创建类的实例:Class.newInstance方法
数组类型的Class实例对象
Class.isArray()
总之,只要是在源程序中出现的类型,都有各自的Class实例对象,例如,int,void…
反射就是把Java类中的各种成分映射成一个个的java对象。例如,一个类有:成员变量,方法,构造方法,包等等信息,利用反射技术可以对一个类进行解剖,把各个组成部分映射成一个个对象。
掌握反射技术的要点在于:如何从一个class中反射出各个组成部分。反射出来的对象怎么用。
public void test2() throws Exception {
Class clazz = Class.forName("com.reflect.Person");
Constructor c = clazz.getConstructor(String.class);
Person p = (Person)c.newInstance("111");
System.out.println(p.name);
}
public Person(String name){
System.out.println("person_name");
System.out.println(name);
}