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

    //只要在类里面声明的都有类类型
    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(")");
    } 
    }
    }

    《============================================》
    JAva获取成员变量构造函数的信息

    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);}

      来源慕课网

    不经一番彻骨寒,哪有梅花扑鼻香?
  • 相关阅读:
    ElasticSearch Java API
    ElasticSearch 核心概念
    ElasticSearch 基本操作
    ElasticSearch概述
    Spring AOP 实现原理与 CGLIB 应用
    Spring AOP 实现原理
    线程池队列饱和策略
    Hibernate 事物隔离级别 深入探究
    Hibernate 所有缓存机制详解
    Java NIO API详解
  • 原文地址:https://www.cnblogs.com/zongyao/p/9869377.html
Copyright © 2011-2022 走看看