对于Java和SO来说都是相当新的。这是我的问题:

假设x是X类的一个实例。y是X的一个属性(字段)。如果我在函数f中传递“ x.y”,是否可以访问x?

例:

Class Person
{
    public Girl girl; //Girl itself is another class
}

public void function1(Girl g)
{
     //body
}

Person p = new Person();
p.girl = new Girl();
function1(p.girl);


现在,我想访问函数中的p。 (有点像链接列表中的“上一个”指针)。

环顾四周,发现了一个叫做反射的东西。但这确实没有帮助。谢谢!

最佳答案

您问题的简短答案是“否”。除非将Girl对象专门设计成对其父对象有引用(在Java中的GUI对象中会看到很多)。但这取决于设计班级的人。就像您的“先前指针”示例一样,该示例首先依赖于开发人员实现“先前指针”。开发人员可以很容易地使用没有先前指针的单链接列表。

简而言之。这取决于您使用的对象。反思不是这里的答案。反射更多是关于通过字符串名称访问事物并检查类的成员。

关于java - 从其字段获取(访问)类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25872377/

10-11 14:30