Java反射获取某个类的全部属性
Java反射获取某个类的全部属性,步骤所用方法如下:
1. forName() 返回给定串名相应的Class对象。
2. getDeclaredFields() 返回当前Class对象表示的类或接口的所有已说明的域对象数组。
3. getFields() 返回当前Class对象表示的类或接口的所有可访问的公有域对象数组。
4. getModifiers() 返回该类或接口的Java语言修改器代码。
5. getName() 返回Class对象表示的类型(类、接口、数组或基类型)的完整路径名字符串。
//获取某个类的全部属性 package net.xsoftlab.baike; import java.io.Serializable; import java.lang.reflect.Field; import java.lang.reflect.Modifier; public class TestReflect implements Serializable { private static final long serialVersionUID = -2862585049955236662L; public static void main(String[] args) throws Exception { Class<?> clazz = Class.forName("net.xsoftlab.baike.TestReflect"); System.out.println("===============本类属性==============="); // 取得本类的全部属性 Field[] field = clazz.getDeclaredFields(); for (int i = 0; i < field.length; i++) { // 权限修饰符 int mo = field[i].getModifiers(); String priv = Modifier.toString(mo); // 属性类型 Class<?> type = field[i].getType(); System.out.println(priv + " " + type.getName() + " " + field[i].getName() + ";"); } System.out.println("==========实现的接口或者父类的属性=========="); // 取得实现的接口或者父类的属性 Field[] filed1 = clazz.getFields(); for (int j = 0; j < filed1.length; j++) { // 权限修饰符 int mo = filed1[j].getModifiers(); String priv = Modifier.toString(mo); // 属性类型 Class<?> type = filed1[j].getType(); System.out.println(priv + " " + type.getName() + " " + filed1[j].getName() + ";"); } } }
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。