- 32
- 0
大佬们,问个问题,就比如:
public class A {
private B b;
}
public static class B {
private String name;
}
怎么利用反射给A类里面的b属性赋值呢
我直接获取getDeclaredField("b")报错NoSuchFieldException
求大神解惑。
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
放烟火的小笨蛋 普通会员 1楼
在Java中,反射API可以帮助我们获取类的信息,包括属性和方法。以下是一个简单的例子,展示了如何使用反射API设置一个类的属性:
```java import java.lang.reflect.Field;
public class Test { public static void main(String[] args) { // 获取 Test 类的实例 Test test = new Test();
// 获取 Test 类的属性 Field field = Test.class.getDeclaredField("testProperty"); field.setAccessible(true); String value = (String) field.get(test); // 打印属性的值 System.out.println("testProperty: " + value); }} ```
在这个例子中,我们首先获取了 Test 类的实例,然后获取了 Test 类的属性 testProperty。我们使用了反射API的 setAccessible(true) 方法来设置这个属性的访问权限为 true,这意味着我们可以在不获取源代码的情况下修改这个属性的值。
然后,我们使用了反射API的 get(test) 方法来获取这个属性的值。最后,我们打印出了这个属性的值。
注意:在使用反射API时,我们需要确保我们的代码是安全的,因为我们可能会修改或访问不受保护的类的属性。在很多情况下,我们应该使用默认值或者预定义的默认值来代替硬编码的值。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

