package com.reflect;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
/**
* 打印Class的构造、属性、方法
* @author lr
*
*/
public class Demo3 {
public static void main(String[] args) throws ClassNotFoundException {
System.out.println("printFieldInfo start===========");
printFieldInfo("hello");
System.out.println("printFieldInfo end=============");
System.out.println("printMethodInfo start===========");
printMethodInfo("hello");
System.out.println("printMethodInfo end===========");
System.out.println("printConstructorInfo start===========");
printConstructorInfo("hello");
System.out.println("printConstructorInfo end===========");
}
public static void printFieldInfo(Object o){
Class<?> clazz = o.getClass();
Field[] declaredFields = clazz.getDeclaredFields();
for (int i = 0; i < declaredFields.length; i++) {
Field field = declaredFields[i];
System.out.print((i+1)+" ");
System.out.print(Modifier.toString(field.getModifiers())+" ");
System.out.print(field.getType().getSimpleName()+" ");
System.out.print(field.getName());
java 反射(三) 打印Class的构造、属性、方法
最新推荐文章于 2024-07-17 02:05:05 发布
本文详细介绍了如何使用Java反射机制来打印Class的构造函数、属性以及方法。通过实例代码,展示了如何动态获取并展示类的元信息,进一步理解Java的运行时类型检查和动态操作对象的能力。
摘要由CSDN通过智能技术生成