zoukankan      html  css  js  c++  java
  • java获取方法信息

    <span style="color:#800000">//只要在类里面声明的都有类类型
    public static void pringClassMessage(Object object){
    //要获取类的信息,首先要获取类的类型
    Class c=object.getClass();//传递的是哪个子类的对象,c就是该子类的类类型
    //获取类的名称
    
    System.out.println("类的名称是:"+c.getName());
    /*
    * Method类,方法对象
    * 一个成员方法就是一个Method对象
    * getMethods()方法获取的是所有public函数,包括父类继承而来的
    * getDeclaredMethods()获取的是所有该类自己声明的方法,不问访问权限
    * */
    Method[] ms=c.getMethods();//c.getDeclaredMethods();
    for (int i = 0; i < ms.length; i++) {
    //得到方法的返回值类型的类类型
    Class returnType=ms[i].getReturnType();
    System.out.println(returnType.getName());
    //得到方法名
    System.out.println(ms[i].getName()+"(");
    //获取参数类型-->得到的是参数列表的类型的类类型
    Class[] paramType=ms[i].getParameterTypes();
    for (Class class1: paramType) {
    System.out.println(class1.getName()+",");
    }
    System.out.println(")");
    } 
    }
    }
    
    《============================================》
    <strong><span style="color:#ff0000">JAva获取成员变量构造函数的信息</span></strong>
    
    Java反射机制——获取成员变量&构造函数
    一、成员变量是java.lang.reflect.Field的对象
    1、Field类封装了关于成员变量的操作
    2、Field[] fs = c.getFields()方法获取所有public的成员变量Field[]信息
    3、c.getDeclaredFields获取的是该类自己声明的成员变量信息
    4、field.getType()获得成员类型的类类型
    5、field.getName()获得成员的名称
    二、构造函数是java.lang.Constructor类的对象
    1、通过Class.getConstructor()获得Constructor[]所有公有构造方法信息
    2、建议getDeclaredConstructors()获取自己声明的构造方法
    3、Constructor.getName():String
    4、Constructor.getParameterTypes():Class[]
    成员变量也是对象,是java.lang.reflect.Field的对象;
    
    
    foreach循环其实和for循环功能相同,for(Field field:fs){} 就相当于 for (int i = 0; i < fs.size(); i++) { Field field = fs.get(i);}
    </span>

      来源慕课网

    不经一番彻骨寒,哪有梅花扑鼻香?
  • 相关阅读:
    基于前后端分离的身份认证方式——JWT
    java远程文件操作
    BZOJ3181: [Coci2012]BROJ
    回归本源--位运算及其应用
    BZOJ 1226: [SDOI2009]学校食堂Dining
    BZOJ2734: [HNOI2012]集合选数
    BZOJ2064: 分裂
    BZOJ2679: [Usaco2012 Open]Balanced Cow Subsets
    OI队内测试——石门一
    Codeforces Round #376 (Div. 2)
  • 原文地址:https://www.cnblogs.com/zongyao/p/13831217.html
Copyright © 2011-2022 走看看