对于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/