zoukankan      html  css  js  c++  java
  • 用方法对象进行反射

    package com.mysec.reflex;

    import java.lang.reflect.Method;

    public class MethodDemo {

        public static void main(String[] args) {
            //要获取print(int,int)方法 1.要获取一个方法就是获取类的信息,获取类的信息首先要获取类的类类型
            A a = new A();
            Class<?> c = a.getClass();
            /**
             * 获取方法名称和参数列表来决定
             * getMethod获取的是public的方法
             * getDeclaredMethods获取的是自己声明的方法
             */
    //        c.getDeclaredMethods();
            try {
    //            Method method = c.getMethod("print", new Class[]{int.class,int.class});
                Method method = c.getMethod("print",int.class,int.class);//获取方法对象
                //方法的反射操作
    //            a.print(1, 2);//方法的反射操作是用method对象来进行方法调用和a.print调用的效果相同
                //如果没有返回值返回null,有返回值返回具体的返回值
                Object o = method.invoke(a, new Object[]{1,2});//用方法进行反射操作
    //            Method method2 = c.getMethod("print");
                Method method2 = c.getMethod("print", new Class[]{});
    //            method2.invoke(a, new Object[]{});
                method2.invoke(a);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        
    }

    class A{
        public void print(){
            System.out.println("ptint");
        }
        public void print(int a,int b){
            System.out.println(a+b);
        }
        public void print(String a,String b){
            System.out.println(a+b);
        }
    }

  • 相关阅读:
    VUE Class动态绑定
    SPA 单页面
    pdf.js使用记录
    vue 采坑 pdfjsdist/es5/build/pdf.js
    搜索引擎搜索技巧
    Service Broker初创建
    SQL Server 2008 R2 SP1升级到SQL Server 2012后的注意事项
    怎么都无法解决的 "Cannot Generate SSPI Context"
    Service Broker 应用示例
    接口测试工具 Jmeter使用笔记(一:编写一个http请求)
  • 原文地址:https://www.cnblogs.com/bsyx/p/7107382.html
Copyright © 2011-2022 走看看