• Reflection反射机制


    import com.sun.jdi.InvocationException;

    import java.lang.reflect.Constructor;
    import java.lang.reflect.Field;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;

    public class TestReflection {
    public TestReflection(){
    type = 1;
    }
    public TestReflection(Integer t){
    type = t;
    }
    private Integer type;

    public Integer plus(Integer num1,Integer num2) {
    return num1 + num2;
    }

    public Integer minus(Integer num1,Integer num2) {
    return num1 - num2;
    }

    public static void main(String[] args) throws ClassNotFoundException,NoSuchMethodException,InstantiationException,IllegalAccessException, InvocationTargetException {
    //根据类全限定名称获取class类型
    Class myTest = Class.forName("TestReflection");
    System.out.println(myTest.getName());
    //遍历构造函数
    Constructor[] constructors = myTest.getConstructors();
    for(Constructor con : constructors){
    System.out.println(con.toString());
    }
    //遍历所有方法
    Method[] methods = myTest.getDeclaredMethods();
    for(Method method:methods){
    System.out.println(method.toString());
    }
    //遍历所有字段
    Field[] fields = myTest.getDeclaredFields();
    for(Field field : fields){
    System.out.println("字段:"+field.getName());
    }
    //实例化对象,执行方法
    Object obj = myTest.getConstructor().newInstance();
    Method plus1 = myTest.getDeclaredMethod("plus", Integer.class, Integer.class);
    Method minus1 = myTest.getDeclaredMethod("minus", Integer.class, Integer.class);
    Object plusResult = plus1.invoke(obj,5,3);
    System.out.println(plusResult);

    Object minsResult = minus1.invoke(obj,6,2);
    System.out.println(minsResult);

    }

    }


  • 相关阅读:
    记录ci框架中定时任务的执行
    2019 年MySQL面试题及答案
    Net线程问题解答(转)
    vs2005 Team System的版本
    ASP.NET 安全认证(如何运用 Form 表单认证)
    .net调用存储过程时的输出函数
    在服务器执行js脚本
    简单的批量更新(小技巧)
    UNION 和UNION ALL 的区别
    ServerVariable(环境变量)
  • 原文地址:https://www.cnblogs.com/TestMa/p/10636559.html
Copyright © 2020-2023  润新知