gpt4 book ai didi

java - 应该将什么传递给此方法 (Field#get(Object obj))?

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:10:30 25 4
gpt4 key购买 nike

查看 Java 文档后 here ,并阅读 Oracle tutorial , 以及访问 this question here on SO ,我仍然对 Field#get(Object obj) 中的 Object 参数实际上是什么感到傻眼。

我使用反射获取字段的过程是:

Field field = SomeClass.getClass().getDeclaredField("someField");
field.setAccessible(true);

它给出了 Field 对象。现在,要获取字段的实际值,您可以使用 Field#get(Object obj) 方法。此方法的文档说明了有关参数的以下内容。

obj - object from which the represented field's value is to be extracted

我什至不知道参数的描述是什么意思。有人可以向我解释一下这个论点真正要求的是什么吗?

谢谢。

最佳答案

假设你有一个类Foo:

public class Foo {
public int bar;
}

现在你可以拥有这个类的多个实例:

Foo f1 = new Foo();
f1.bar = 1;
Foo f2 = new Foo();
f2.bar = 2;

要以反射方式获取 f1 的字段 bar 的值,您可以调用

field.get(f1); // returns 1

要以反射方式获取f2 的字段bar 的值,您可以调用

field.get(f2); // returns 2

关于java - 应该将什么传递给此方法 (Field#get(Object obj))?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31559859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com