我有课
main {
Class1 class1=new Class1();
class1.function1();
}
class Class1 {
int abc=1;
ArrayList<Class2> class2s=new ArrayList<Class2>();
int function1() {
class2s.add(new Class2(asd));
abc=555;
}
}
class Class2 {
int functionx() {
Log.e("abc?", ""+PARENT???.abc);
}
}
如何获取调用者类的变量,例如 abc?
最佳答案
您可以将调用者作为参数传递,如下所示:
int functionx(Class1 caller) {
Log.e("abc?", ""+caller.abc)
}
并调用它
Class2 cls = new Class2()
cls.functionx(this)
只要 abc 对 Class2 可见。否则,在 Java 中没有直接的方法来了解你的调用者。变量class2s实现了Class1和Class2之间的单向关系。因此,您只能从 Class1 导航到 Class2,反之则不然。
关于Java访问调用者变量,可能吗?如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8272587/