Я шукаю спосіб передачі методу шляхом посилання. Я розумію, що Java не передає методи як параметри, однак, я хотів би отримати альтернативу.
Мені сказали, що інтерфейси є альтернативою передачі методів як параметрів, але я не розумію, як інтерфейс може діяти як метод за посиланням. Якщо я правильно розумію, інтерфейс - це просто абстрактний набір методів, які не визначені. Я не хочу надсилати інтерфейс, який потрібно визначати кожен раз, оскільки кілька різних методів можуть викликати один і той же метод з однаковими параметрами.
Я хотів би зробити щось подібне до цього:
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());