反射可以取到原始呼叫方法的變數名嗎?

chabulier發表於2008-09-22

小弟愚昧,想知道Java可不可以實現這樣的功能。

Class A{
public void methodA1(){
String oriName = "Class A methodA1 field";
ClassB instanceB = new ClassB();
instanceB.methodB1(oriName );
}
}

Class B{
public void methodB1(String inStr){
    //我可不可以在這裡得到呼叫次方法的原始的變數名稱(比如oriName)?
    System.out.println("inStr=" + inStr);
}
}

翻看了幾個Java的反射程式碼好像需要知道名稱才能取得屬性,那我就很困惑了,能不能得到引用取得名稱呢?

想到Java虛擬機器最後會把變數當作reference指向同一塊記憶體,所以應該可以有方法實現遍歷或者逆推得到原來的變數名。

請大家積極發言。。。

[該貼被chabulier於2008-09-22 18:30修改過]

相關文章