আমি রেফারেন্স দিয়ে কোনও পদ্ধতি পাস করার উপায় খুঁজছি। আমি বুঝতে পারি যে জাভা প্যারামিটার হিসাবে পদ্ধতিগুলি পাস করে না, তবে আমি একটি বিকল্প পেতে চাই।
আমাকে বলা হয়েছে ইন্টারফেসগুলি প্যারামিটার হিসাবে পাস করার পদ্ধতিগুলির বিকল্প, তবে আমি বুঝতে পারি না যে কোনও ইন্টারফেস কীভাবে রেফারেন্স দ্বারা কোনও পদ্ধতি হিসাবে কাজ করতে পারে। যদি আমি সঠিকভাবে বুঝতে পারি তবে একটি ইন্টারফেস হ'ল একটি বিমূর্ত পদ্ধতির সেট যা সংজ্ঞায়িত হয় না। আমি এমন একটি ইন্টারফেস পাঠাতে চাই না যা প্রতিবার সংজ্ঞায়িত করা দরকার কারণ বিভিন্ন পন্থাগুলি একই পরামিতিগুলির সাথে একই পদ্ধতিতে কল করতে পারে।
আমি যেটি সম্পাদন করতে চাই তা হ'ল এটির অনুরূপ:
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());