0
点赞
收藏
分享

微信扫一扫

Java反射类工具获取成员的所有方法代码

package com.imooc.reflect;


import java.lang.reflect.Method;


public class ClassDemo3 {

public static void main(String[] args) {



String cString=new String();

printClassMessage(cString);







}

/**

* 打印类的信息,包括类的成员函数

* @param obj

*/

public static void printClassMessage(Object obj){

//要获取类的信息首先要获取类的类类型

Class c=obj.getClass();//传递的是哪个子类的对象,c就是该子类的类类型



System.out.println("类的名称是"+c.getName());

/**

* Method类是方法的对象

* getMethods方法获取的是所有public函数,包括父类集成而来的。

* getDeclaredMethods()获取的是该类自己生命的方法,就是自己的,不分访问权限

*/

Method[] ms=c.getMethods();

for (int i = 0; i < ms.length; i++) {

//得到方法的返回值类型的类类型





//得到方法的名称

System.out.print("方法名:"+i+" "+ms[i].getName()+" ");

Class returnType=ms[i].getReturnType();

System.out.print("返回值是:"+returnType.getSimpleName()+" ");

//获取参数类型

Class[] returnTClasses=ms[i].getParameterTypes();

if (returnTClasses.length>0) {

System.out.print("传入参数类型 ");

}



for (int j = 0; j < returnTClasses.length; j++) {

System.out.print(j+" :"+returnTClasses[j].getSimpleName()+" ");

}



System.out.println("");



}

c.getDeclaredMethods();











}


}

举报

相关推荐

0 条评论