首页 > Java > 反射机制入门

反射机制入门

Java程序允许在执行期间获取一个已知名称的类的详细内部构造,这种机制被称为“反射”,反射在struts2、Spring、hibernate等Java常见框架中有着许多经典运用,下面是Java反射机制的入门代码,看了这些代码,相信读者应该对Java的反射机制会有一个入门级的了解,再看那些框架源码时会省力不少。


import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.TypeVariable;

public class TestReflection {
    public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
        String str = "T";
        Class c = Class.forName(str);
        Object o = c.newInstance();
        T t = (T) c.newInstance();
        t.m();
        Method [] methods = c.getMethods();
        for (Method method : methods) {
            if ("m".equals(method.getName())) {
                method.invoke(o);
            }
            if ("getS".equals(method.getName())) {
                TypeVariable<Method>[] typeParameters = method.getTypeParameters();
                Class returnType = method.getReturnType();
            }
        }
    }
}

class T {
    int i;
    String s;
    static {
        System.out.println("T loaded...");
    }
    public T() {
        System.out.println("T Constructed...");
    }

    public String getS() {
        return s;
    }

    public void setI(int i) {
        this.i = i;
    }

    public void m() {
        System.out.println("m invoked...");
    }
}

分享到:
作 者: BridgeLi,http://www.bridgeli.cn/
原文链接:https://www.bridgeli.cn/archives/38
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
分类: Java 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.