这里有新鲜出炉的Java并发编程示例,程序狗速度看过来!
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
下面小编就为大家带来一篇Java反射之通过反射获取一个对象的方法信息(实例代码)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
以下代码为一个工具类
- 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反射之通过反射获取一个对象的方法信息(实例代码)的全部内容了,希望对大家有所帮助,多多支持PHPERZ~
来源: http://www.phperz.com/article/17/1201/359805.html