package com.ch09_reflection;
/**
* 通过反射来访问类的私有属性
*/
import java.lang.reflect.Field;
class PrivateTestClass{
//私有属性
private String field1;
//构造方法
public PrivateTestClass(String field1) {
super();
this.field1=field1;
}
}
public class PrivateTest {
public static void main(String[] args) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
PrivateTestClass obj = new PrivateTestClass("Hello");
//获取Class对象
Class clazz = obj.getClass();
//反射获取属性
Field field = clazz.getDeclaredField("field1");
//设置属性的可访问性
field.setAccessible(true);
System.err.println(field.get(obj));
}
}
使用Java反射机制访问类的私有属性
最新推荐文章于 2023-06-15 09:07:59 发布