代码:
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反射根据类内容请搜索靠谱客的其他文章。
发表评论 取消回复