प्रतिबिंब का उपयोग करना संभव है, हालांकि आपको उस तरह के व्यवहार की आवश्यकता होने पर शायद कुछ हद तक अपने डिजाइन पर सवाल करना चाहिए। Class.getMethod
विधि नाम के लिए एक String
लेता है और एक Method
वस्तु है, जो आप तो पर .invoke
कॉल कर सकते हैं उपयोगी होना चाहिए विधि
ये जावाडोक पृष्ठों कॉल करने के लिए देता है:
नमूना कोड (yyyyyy
विधियों को मानते हुए int
तर्क लेते हैं, केवल तर्क दिखाने के लिए एसएसआईएन):
yyyyyy obj = new yyyyyy();
String[] methodNames = {"foo", "bar", "baz"};
for(String methodName : methodNames) {
Method method = Class.forName("yyyyyy").getMethod(methodName, new Class[] {int.class});
method.invoke(obj, 4); // 4 is the argument to pass to the method
}
स्रोत
2010-06-16 05:48:48
आप विस्तार से बता सकते हैं की तरह लग रहे कर सकते हैं? समझने के लिए यह इतना स्पष्ट नहीं है। –
मुझे विश्वास है कि आप जिस शब्द को खोज रहे हैं वह "प्रतिबिंब" है। – Stephen
और मुझे यह भी यकीन है कि उसका मतलब क्या है: http://stackoverflow.com/questions/160970/how-do-i-invoke-a-java-method-when-given-the-method-name -एएस-ए-स्ट्रिंग – gumuruh