0
如果我只从一个类中获得一个字段实例,但没有关于声明该字段的类的更多知识,是否可以获取声明(外部)类的实例?获取表示声明一个字段的类的类
例如,请考虑以下类结构。
class A {
static final Tclass t = Tclass.create();
}
现在,在其他一些函数中,我们只给出t(Tclass实例)。是否有可能以某种方式使用反射来获取持有t的外部/声明类(A类)?
如果我只从一个类中获得一个字段实例,但没有关于声明该字段的类的更多知识,是否可以获取声明(外部)类的实例?获取表示声明一个字段的类的类
例如,请考虑以下类结构。
class A {
static final Tclass t = Tclass.create();
}
现在,在其他一些函数中,我们只给出t(Tclass实例)。是否有可能以某种方式使用反射来获取持有t的外部/声明类(A类)?
我不认为陈述给予t意味着你的想法。
如果你的意思是你做这样的事情
someMethod(t);
,你想someMethod
得到一个参考回到A
,你的运气了。当用于这样的表达式时,表达式t
解析为一个值。该值是对对象的引用。这种参考仅限于单向。 someMethod
完全不知道static
变量t
的存在。
如果你的意思是你有一个Field
实例为t
,你可以简单地调用Field#getDeclaringClass()
来获取声明类。
有道理。谢谢。我所希望的是,t实例保留了其包含类的信息。可能不会。 – bigfy 2014-09-20 01:37:13