黑马程序员技术交流社区

标题: 使用反射获取类中的字段问题 [打印本页]

作者: 冯鹏飞    时间: 2011-7-30 09:19
标题: 使用反射获取类中的字段问题
在同一个包中一个类的默认没有修饰的字断String
name可以被另一个类使用吧,可在反射中用Field f=clazz.getField(″name″)为何就提示没有该字段呢?在同一包中默认的不是可以访问吗?这里怎么相违背呢?
作者: 匿名    时间: 2011-7-31 02:56
如遇问题,你首先想到的应该是JDK文档。
在JDK中明确说明,Class.getField(String name)方法只用于获取该类声明为public的name字段。
作者: 匿名    时间: 2011-7-31 05:59
标题: 回复 沙发 的帖子
哦,这个还真没注意到呢,以后会多查看文挡的。
作者: 匿名    时间: 2011-7-31 08:11
Field f=clazz.getField(″name″)用于访问public修饰的字段
要反射其他类型的可以用暴力反射[code]Field f=clazz.getDeclaredField("name");
f.setAccessible(true);//暴力反射,强制取出其中的值[/code]




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2