本文共 1992 字,大约阅读时间需要 6 分钟。
*成员变量 成员变量也是对象 Field类封装了关于成员变量的操作 getFields()获取所有public成员变量的信息 getDeclaredFields()获取所有自己声明的变量
1.ClassUtil中声明方法:
/** * 获取类的成员变量 * 成员变量也是对象 * Field类封装了关于成员变量的操作 * getFields()获取所有public成员变量的信息 * getDeclaredFields()获取所有自己声明的变量 * @param obj 要获取类的实例对象 * @return 成员变量 */ public static Field[] getFields(Object obj) { Class c=obj.getClass(); Field[] fields=c.getDeclaredFields(); return fields; }
2.实现
public static void main(String[] args) { Integer b=3; Field[] fields = ClassUtil.getFields(b); for(Field field:fields) { //得到成员变量的类的类类型 Class fieldType=field.getType(); //得到成员变量的名称 String fieldName=field.getName(); //得到成员变量的类型的名称 String fieldTypeName=fieldType.getName(); System.out.println(fieldTypeName+" "+fieldName); } }运行结果:
int MIN_VALUEint MAX_VALUEjava.lang.Class TYPE[C digits[C DigitTens[C DigitOnes[I sizeTableint valueint SIZEint BYTESlong serialVersionUID
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
*构造方法也是对象 Constructor类封装了关于成员变量的操作 getConstructors()获取所有public成员变量的信息 getDeclaredConstructors()获取该类所有的构造方法
1.在ClassUtil中声明方法
/** * 获取类的构造方法 * 构造方法也是对象 * Constructor类封装了关于成员变量的操作 * getConstructors()获取所有public成员变量的信息 * getDeclaredConstructors()获取该类所有的构造方法 * @param obj * @return */ public static Constructor[] getCons(Object obj) { Class c=obj.getClass(); Constructor[] cons=c.getDeclaredConstructors(); return cons; }
2.实现
public static void main(String[] args) { Integer a=5; Constructor[] cons=ClassUtil.getCons(a); for(Constructor constructor:cons) { System.out.print(constructor.getName()+"("); //获取构造函数的参数列表 Class[] paramTypes=constructor.getParameterTypes(); for (Class class1 : paramTypes) { System.out.print(class1.getName()+","); } System.out.println(")"); } }结果:
java.lang.Integer(int,)java.lang.Integer(java.lang.String,)
转载地址:http://lskii.baihongyu.com/