Tôi đang tìm cách để vượt qua một phương pháp bằng cách tham khảo. Tôi hiểu rằng Java không truyền các phương thức làm tham số, tuy nhiên, tôi muốn có một phương án.
Tôi đã được bảo rằng các giao diện là phương thức thay thế cho việc truyền các phương thức dưới dạng tham số nhưng tôi không hiểu làm thế nào một giao diện có thể hoạt động như một phương thức bằng cách tham chiếu. Nếu tôi hiểu chính xác một giao diện chỉ đơn giản là một tập hợp các phương thức không được xác định. Tôi không muốn gửi một giao diện cần được xác định mỗi lần vì một số phương thức khác nhau có thể gọi cùng một phương thức với cùng tham số.
Những gì tôi muốn thực hiện là một cái gì đó tương tự như thế này:
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
}
được gọi như:
setAllComponents(this.getComponents(), changeColor());
setAllComponents(this.getComponents(), changeSize());