概述
代码:
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ObjectUtil {
/**
* 利用Java反射根据类的名称获取属性信息和父类的属性信息
* @param className
* @return
* @throws ClassNotFoundException
*/
public static List getFiledsInfo(String className) throws ClassNotFoundException {
List list = new ArrayList<>();
Class> clazz = Class.forName(className);
Field[] fields = clazz.getDeclaredFields();
list.addAll(Arrays.asList(fields));
Class> superClazz = clazz.getSuperclass();
if (superClazz != null) {
Field[] superFields = superClazz.getDeclaredFields();
list.addAll(Arrays.asList(superFields));
}
return list;
}
public static void main(String[] args) {
try {
List fields = getFiledsInfo(Student.class.getName());
for (Field field : fields) {
// 设置访问对象权限,保证对私有属性的访问
field.setAccessible(true);
System.out.println(field.getName());
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行结果:
最后
以上就是可靠乌冬面为你收集整理的java反射父类私有属性值_利用Java反射根据类的名称获取属性信息和父类的属性信息...的全部内容,希望文章能够帮你解决java反射父类私有属性值_利用Java反射根据类的名称获取属性信息和父类的属性信息...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复