例子代码如下:

package com.reflect;

import java.lang.reflect.Method;

public class ClassUtill {

    /*
* 打印类的信息,包括类的成员函数,成员变量,
* obj 该对象所属类的信息
* */
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()
; //c.getDeclaredMethods()
for(int i=0;i<ms.length;i++)
{
//得到方法的返回值类型的类类型
Class returnType=ms[i].getReturnType();
System.out.print(returnType.getName()+" ");
//得到方法的名称
System.out.print(ms[i].getName()+"(");
//获取参数类型-->得到的是参数列表的类型的类类型
Class[] paramTypes=ms[i].getParameterTypes();
for (Class class1 : paramTypes) { System.out.print(class1.getName()+",");
}
System.out.println(")");
}
}
}

调用这个类:

package com.reflect;

public class ClassDemo2 {

    public static void main(String[] args) {

        String s="hello";
ClassUtill.printClassMessage(s);
}
}

执行效果:

最新文章

  1. 10.Struts2连接数据库
  2. Spring之Ioc
  3. Oracle中用户的基本操作
  4. [CLK Framework] CLK.Threading.PortableTimer - 跨平台的Timer类别
  5. HDU 1850 Being a Good Boy in Spring Festival
  6. 502 Bad Gateway什么意思
  7. smarty缓存函数
  8. 使用IIS 7.0 Smooth Streaming 优化视频服务
  9. @Resource和@Autowired
  10. C# DES
  11. ubuntu下vpn无反应的解决办法
  12. RGB與CIELAB色彩空間轉換
  13. 浅谈DevExpress&lt;三&gt;:在GridView中加载动态图片
  14. sql 查询一段时间内某个时间点数据
  15. ubuntu频繁出现 安装包依赖关系
  16. python中收集函数的解包问题
  17. Ubuntu MYSQL环境搭建
  18. 2018.07.08 hdu5316 Magician(线段树)
  19. 菜单根据菜单ID向下递归
  20. 给出a的定义 -- 指针 和 数组

热门文章

  1. BZOJ 3571 画框 KM算法 最小乘积最大权匹配
  2. 线程,线程安全与python的GIL锁
  3. 用Java实现HTTP Multipart的服务端和客户端
  4. Qt移动应用开发(八):实现跨平台的QML和OpenGL混合渲染
  5. NativeXml: A native Delphi XML parser and writer
  6. CISC RISC架构
  7. C# 如何做类似微博和QQ的授权登录
  8. SASS输出风格
  9. mysql -- 用索引应避免空值
  10. Tomcat服务器优化