反射-获取方法信息

Posted 诺-诺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反射-获取方法信息相关的知识,希望对你有一定的参考价值。

测试类:
public
class Test { public static void main(String[] args) { ClassDemo3 classDemo3 = new ClassDemo3(); String string = "hello"; printClassMessage(string); } }

package classes;


import com.sun.org.apache.xpath.internal.SourceTree;

import java.lang.reflect.Method;

public class ClassDemo3 {
    /*打印类的信息,包括成员变量,和方法*/
    public static void printClassMessage(Object obj) {
        //获取类的信息,首先要获得类的类类型
        Class c = obj.getClass();//传递的是哪个子类对象,c就是盖子类的类类型
        //获取类的名称
        System.out.println("参数类的名称是: " + c.getName());
        /*Method 类, 方法的对象, 一个成员变量方法就是一个Method对象
        getMethods()方法获取的是所有的public方法,包括父类继承而来的
        getDeclaredMethods() 获取的是所有该类自己声明的方法,不问访问权限*/
        Method[] ms = c.getMethods();
        for(Method m : ms){
            //得到方法的返回值的类类型
            Class returnType = m.getReturnType();
            System.out.print("returnType : " + returnType.getName() + " <--");
            //得到方法名
            System.out.println("方法名:" + m.getName());

            //获取参数类型
            Class[] paramTypes = m.getParameterTypes();
            for(Class classs : paramTypes){
                System.out.println("参数列表中的参数类类型 : " + classs.getName());
            }
        }

    }

}

 

 

 

以上是关于反射-获取方法信息的主要内容,如果未能解决你的问题,请参考以下文章

反射之获取方法信息

通过反射获取字段信息

注解和反射反射获取泛型反射获取注解

Java反射中的getClass()方法

反射

C#怎么使用反射获取事件的响应方法