私有对象字段获取和字节数组

byte b = new byte[2048];

创建一个字节数组,再文件读取流中进行临时缓存,开辟空间之后,之后分批次进行流最后的传递完全。

Class clazz = Class.forName("cn.liangqinghai.reflect.Beans1");

Beans1 bean = (Beans1) clazz.newInstance();

//获取单个私有属性

Field field = bean.getClass().getDeclaredField("id");

field.setAccessible(true);

String id = (String)field.get(bean);

//给某个私有属性设置值

for (Field field : fs) {

// 要设置属性可达,不然会抛出IllegalAccessException异常

field.setAccessible(true);

// 设置属性值,set(Object obj, Object value)  obj - 应该修改其字段的对象  value - 正被修改的 obj 的字段的新值(参考api)

field.set(bean, "Liang");

}

综上所述看到反射的开启需要对象的进行设置可见,才能进行字段的操作,否则不可以。常用来操作父类私有属性。

上面两个本没有关系,可是这种细节的知识如果不深刻理解的话,很容易会忘记。

人也是一样,对于基本,要明白了什么是基本

你可能感兴趣的:(私有对象字段获取和字节数组)