【发布时间】:2014-06-07 06:07:15
【问题描述】:
只是在玩 Java 反射,我想我大部分时间都掌握了它。我从question/answer 了解到,在大多数情况下,我仅限于静态变量。如果我有一个类的实例,我可以访问非静态变量,这很有意义,我得到了那么多。
假设我有以下两个类:
public class A
{
private static int _staticInt;
public static void main(String[] args)
{
B instanceOfB = new B();
}
}
public class B
{
private int _nonStaticInt;
public Game() {}
}
我了解如何访问_staticInt,这不是问题。
我的理解是我可以以同样的方式(即Field f = B.class.getDeclaredField("_nonStaticInt");)获得_nonStaticInt 的Field。从其他研究(javadocs、trails 等)中,我收集到我需要一个 B 的实例才能获得 _nonStaticInt 的值。
所以我的问题;由于main 是静态的,是否可以访问instanceOfB 以访问_nonStaticInt 的值?我不认为这是可能的,但我认为在放弃这个想法之前最好咨询比我更有知识的人。
【问题讨论】:
-
你试了会有什么结果?
标签: java reflection