Java 检索实例化变量的类

Java 检索实例化变量的类,java,reflection,java-8,annotations,Java,Reflection,Java 8,Annotations,在Java中是否可以接收声明了特定变量的类? 例如,请注意以下代码: class SomeClass { private AnotherClass myVariable; } 我想做的是在另一个类中的某个类中接收一个类。但我找不到任何有关这方面的信息。 如果不可能,请通知我 我认为您不能直接访问这些信息,但有间接的方法 如果你只是想 在另一个类中接收某个类 您可以将另一个类设置为内部类,这样就可以访问外部类信息 您可以找到带有反射的classSomeClass: 迭代所有类,找出哪个类

在Java中是否可以接收声明了特定变量的类? 例如,请注意以下代码:

class SomeClass {
    private AnotherClass myVariable;
}
我想做的是在另一个类中的某个类中接收一个类。但我找不到任何有关这方面的信息。
如果不可能,请通知我

我认为您不能直接访问这些信息,但有间接的方法

  • 如果你只是想

    在另一个类中接收某个类

    您可以将
    另一个类
    设置为内部类,这样就可以访问外部类信息

  • 您可以找到带有反射的class
    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
    。在三个完全不同的代码位置可能发生三种不同的情况。请记住,任意数量的变量可能引用同一个对象实例。你的意思是?是的,这似乎就是我正在搜索的。非常感谢。