有没有办法在被调用类的方法中访问变量/获取调用者类的赋值?

时间:2015-06-11 11:56:47

标签: java class static

这类似于以下问题: Is there a way to access the variables of the calling class in a method? 但我无法得到确切的答案。 我想做什么:

class A{
    m()
    {
        int a=8;
        new B.m1();

    }
}

class B{
    m1()
    {
         //Print the value of a of class A (i.e 8) here     
    }
}

约束: 应该更改A类中的任何内容。只能在B类中进行更改! (例如将B.m1(this)放入A类等)

3 个答案:

答案 0 :(得分:3)

不,这是不可能的。 特别是,因为a是一个局部变量。

如果a是一个字段,那么可能是使用某些反射/堆栈跟踪黑客解决此问题的远程可能性。

答案 1 :(得分:0)

了解这个'关键词。但是在这里它是不可能的,因为你在谈论一个局部变量,其范围只是方法m()

答案 2 :(得分:0)

考虑到' a'的范围,将其作为参数传递是访问它的唯一方法。