反射:Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。
与反射有关的类:
java.lang.Class 该类表示对class字节码的表示
java.lang.reflect.Method 该类表示class字节码中方法的字节码表示
java.lang.reflect.Constructor 该类表示class字节码中构造方法的表示
java.lang.reflect.Field 该类表示class字节码中属性的表示
Method 、Constructor 、Field 对象都是由Class对象来得到,下面我们介绍获取Class对象的三种方式。
获取Class对象的三种方式
1: 通过Class.forName(String className)方法获取
该方法是Class类的静态方法,参数传入全类名,返回的是Class对象
2: 通过 对象实例.getClass()方法获取
该方法是Object基类中的方法,故所有的引用类都有该方法
3: 通过 类型.class 获取该类的Class对象