क्या कॉलिंग क्लास की इंस्टेंस ऑब्जेक्ट प्राप्त करना संभव है?कॉलर का उदाहरण प्राप्त करें (प्रतिबिंब के माध्यम से)
class A{
void foo(){
Object o = getCaller(); //?? expect instance of B
long val1 = .. // get val1 of o via reflection
// do something where val1 is crucial
}
}
class B{
double val1 = Math.random();
public static void main(String[] args) {
new B().callFoo();
}
void callFoo(){
new A().foo();
}
}
मुझे पता है कि मैं स्टैकट्रेस के माध्यम से वर्ग/विधि बुला पता कर सकते हैं, लेकिन मैं उदाहरण चर (उदाहरण में VAL1 की तरह) का उपयोग करने की conrete उदाहरण की जरूरत है।
मैं जानता हूँ कि यह गंदा है, लेकिन इतना है कि यह सब कुछ के पुनर्निर्माण के बिना आवश्यक फ़ील्ड पारित करने के लिए लगभग असंभव है वर्ग बी एक unchangable पुस्तकालय में है।
क्या वहाँ कोई उदाहरण है अगर ? आपको इसकी आवश्यकता क्यों है? –
नहीं, आप मूल रूप से ऐसा नहीं कर सकते हैं। –