源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Java反射之通过反射获取一个对象的方法信息(实例代码)

  • 时间:2022-08-19 16:10 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Java反射之通过反射获取一个对象的方法信息(实例代码)
[b]以下代码为一个工具类[/b]
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()
//.......
[b]以下代码为测试类:[/b]
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);
 }
}
[b]截图如下:[/b] [img]http://files.jb51.net/file_images/article/201610/20150424205610772.jpg[/img]   以上就是小编为大家带来的Java反射之通过反射获取一个对象的方法信息(实例代码)的全部内容了,希望对大家有所帮助,多多支持编程素材网~
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部