JAVA反射机制工作原理:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;
对于任意一个对象,都能够调用它的任意一个方法;
这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能:
在运行时判断任意一个对象所属的类;
在运行时构造任意一个类的对象;
在运行时判断任意一个类所具有的成员变量和方法;
在运行时调用任意一个对象的方法;
生成动态代理。
sun为我们提供了那些反射机制中的类:
java.lang.Class;
java.lang.reflect.Constructor;
java.lang.reflect.Field;
java.lang.reflect.Method;
java.lang.reflect.Modifier;
话不多说,直接上代码
package com.java.framework.basis.reflect;
import com.java.framework.data_structure.adt.RationalImpl;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
/**
* Created by Ryan Xu on 2016/5/1.
*/
public class ReflectDemo {
public static void main(String args[]) {
Class<?> clazz = getClassMethods();
testUsualMethods(clazz);
}
/**
* 获取类类型的三种方式(用之前写的RationalImpl类举例)
* 三种方式都可以
*/
public static Class<?> getClassMethods() {
Class<?> clazz = null;
//1.通过Class的静态方法forName("packageName + className");
try {
clazz = Class.forName("com.jav