Java 检索实例化变量的类
在Java中是否可以接收声明了特定变量的类? 例如,请注意以下代码:Java 检索实例化变量的类,java,reflection,java-8,annotations,Java,Reflection,Java 8,Annotations,在Java中是否可以接收声明了特定变量的类? 例如,请注意以下代码: class SomeClass { private AnotherClass myVariable; } 我想做的是在另一个类中的某个类中接收一个类。但我找不到任何有关这方面的信息。 如果不可能,请通知我 我认为您不能直接访问这些信息,但有间接的方法 如果你只是想 在另一个类中接收某个类 您可以将另一个类设置为内部类,这样就可以访问外部类信息 您可以找到带有反射的classSomeClass: 迭代所有类,找出哪个类
class SomeClass {
private AnotherClass myVariable;
}
我想做的是在另一个类中的某个类中接收一个类。但我找不到任何有关这方面的信息。
如果不可能,请通知我 我认为您不能直接访问这些信息,但有间接的方法
另一个类
设置为内部类,这样就可以访问外部类信息SomeClass
:
迭代所有类,找出哪个类的字段是class另一个class
SomeClass
class如您可以使用的注释所示 但是看看这些课程:
class Master {
private Object o;
}
class Sub extends Master {}
在这种情况下,Sub.class.getDeclaredField(“o”)
将抛出java.lang.NoSuchFieldException:o
,因为o
是Master
的成员
所以您需要调用
Master.class.getDeclaredField(“o”)代码>(因此您已经需要知道声明类…)您所说的“接收”是什么意思?你可以展示一些你认为会是什么样子的代码吗?你混淆了实例化和变量。您的SomeClass
声明了一个类型为AnotherClass
的变量,但在其他地方,可能会实例化一个类型为AnotherClass
的对象,然后该对象可能会被分配给myVariable
。在三个完全不同的代码位置可能发生三种不同的情况。请记住,任意数量的变量可能引用同一个对象实例。你的意思是?是的,这似乎就是我正在搜索的。非常感谢。