可以使用以下java.lang.Class类的方法来显示类的元数据。
方法 | 描述 |
---|---|
public Field[] getDeclaredFields()throws SecurityException | 返回一个Field对象数组, 该数组反映由该Class对象表示的类或接口声明的所有字段。 |
public Constructor[] getDeclaredConstructors()throws SecurityException | 返回一个构造函数对象数组, 该对象反映此Class对象表示的类声明的所有构造函数。 |
public Method[] getDeclaredMethods()throws SecurityException | 返回一个Method对象数组, 该对象反映由该Class对象表示的类或接口声明的所有方法。 |
【创建一个用作javap工具的程序】让我们创建一个类似于javap工具的程序。
import java.lang.reflect.*;
public class MyJavap{
public static void main(String[] args)throws Exception {
Class c=Class.forName(args[0]);
System.out.println("Fields........");
Field f[]=c.getDeclaredFields();
for(int i=0;
i<
f.length;
i++)
System.out.println(f[i]);
System.out.println("Constructors........");
Constructor con[]=c.getDeclaredConstructors();
for(int i=0;
i<
con.length;
i++)
System.out.println(con[i]);
System.out.println("Methods........");
Method m[]=c.getDeclaredMethods();
for(int i=0;
i<
m.length;
i++)
System.out.println(m[i]);
}
}
在运行时, 你可以获取任何类的详细信息, 它可以是用户定义的或预定义的类。
输出:
文章图片
文章图片
推荐阅读
- Java自定义异常
- 创建自己的appletviewer工具
- 小程序通讯
- Java匿名内部类
- 所有关于DbxSvc.exe、用途和如何删除它()
- 如何在Word中添加删除线(3种方法和快捷方式)
- 什么是YourPhone.exe以及如何在Windows 10中禁用它()
- 什么是Trkwks.dll进程以及如何禁用它()
- 什么是At.exe(计划任务)和命令(提示和指南)