反射概述:
1、反射是指对于任何一个Class类,在“运行的时候”都可以直接得到这个类全部成分
2、在运行时,可以直接得到这个类的构造器对象:Constructor
3、在运行时,可以直接得到这个类的成员变量对象:Field
4、在运行时,可以直接得到这个类的成员方法对象:Method
5、这种运行时动态获取类信息以及动态调用类中成分的能力称为Java语言的反射机制
反射的关键:
反射的第一步都是先得到编译后的Class类对象,然后就可以得到Class的全部成分
总之反射的核心思想和关键就是:得到编译以后的class文件对象
获取Class类的对象的三种方式:
1:Class c1=Class.forName(“全类名”);
2:Class c2=类名.class
3:Class c3=对象.getClass();
public class 反射机制_1 {
//反射的第一步:获取Class对象
public static void main(String[] args) throws Exception {
//Class类中的一个静态方法:forName(全限名:包名 + 类名)
Class c=Class.forName("IT2.反射机制_1");
System.out.println(c);//反射机制_1.calss
//类名.class
Class c2=反射机制_1.class;
System.out.println(c2);
//对象.getClass()获取对象对应类的Class对象
反射机制_1 s=new 反射机制_1();
Class c3=s.getClass();
System.out.println(c3);
}
}