Java反射之通过反射获取一个对象的方法信息(实例代码)
程序员文章站
2024-03-31 20:57:46
以下代码为一个工具类
package com.imooc.reflect;
import java.lang.reflect.method;
publ...
以下代码为一个工具类
package com.imooc.reflect; import java.lang.reflect.method; public class classutil { public static void printclassmessage(object obj){ //要获取类的信息,首先要获取类的类类型 class c = obj.getclass();//传递的是哪个子类的对象,c就是该子类的类类型 //获取类的名称 system.out.println("类的名称为:"+c.getname()); /* * method类,方法对象 * 一个成员方法就是一个method对象 * getmethods()方法获取的是所有的public的函数,包括父类继承而来的 * getdeclaredmethods()获取的是所有该类自己声明的方法,部位访问权限 */ method[] methods = c.getmethods(); // for(int i=0;i<methods.length;i++){ //得到方法的返回值类型的类类型 class returntype = methods[i].getreturntype(); system.out.print(returntype.getname()+" "); //得到方法的名称 system.out.print(methods[i].getname()+"("); //获取参数类型--》得到的参数列表的类型de类类型 class[] paramtype = methods[i].getparametertypes(); for(class class1:paramtype){ system.out.print(class1.getname()+","); } system.out.println(")"); } } } //output: //类的名称为:java.lang.string //boolean equals(java.lang.object,) //java.lang.string tostring() //int hashcode() //.......
以下代码为测试类:
package com.imooc.reflect; public class testclassutil { public static void main(string[] args) { string string = "hello"; classutil.printclassmessage(string); integer n1 = 1; classutil.printclassmessage(n1); } }
截图如下:
以上就是小编为大家带来的java反射之通过反射获取一个对象的方法信息(实例代码)的全部内容了,希望对大家有所帮助,多多支持~
上一篇: RxJava中多种场景的实现总结