मैं संदर्भ द्वारा एक विधि पारित करने के लिए एक रास्ता तलाश रहा हूं। मैं समझता हूं कि जावा मानकों को मापदंडों के रूप में पारित नहीं करता है, हालांकि, मैं एक विकल्प प्राप्त करना चाहूंगा।
मुझे बताया गया है कि इंटरफेस पैरामीटर के रूप में गुजरने के विकल्प हैं, लेकिन मुझे समझ में नहीं आता है कि एक इंटरफ़ेस संदर्भ द्वारा विधि के रूप में कैसे कार्य कर सकता है। अगर मैं सही ढंग से समझूं तो एक इंटरफ़ेस केवल उन तरीकों का एक सार सेट है जो परिभाषित नहीं हैं। मैं एक इंटरफ़ेस भेजना नहीं चाहता जिसे हर बार परिभाषित किया जाना चाहिए क्योंकि कई अलग-अलग तरीके समान पैरामीटर के साथ एक ही विधि को कॉल कर सकते हैं।
जो मैं पूरा करना चाहूंगा वह कुछ इस तरह है:
public void setAllComponents(Component[] myComponentArray, Method myMethod) {
for (Component leaf : myComponentArray) {
if (leaf instanceof Container) { //recursive call if Container
Container node = (Container) leaf;
setAllComponents(node.getComponents(), myMethod);
} //end if node
myMethod(leaf);
} //end looping through components
}
जैसे आमंत्रित किया गया:
setAllComponents(this.getComponents(), changeColor());
setAllComponents(this.getComponents(), changeSize());