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

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");

}

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容