Saya mencari cara untuk lulus metode dengan referensi. Saya mengerti bahwa Java tidak lulus metode sebagai parameter, namun, saya ingin mendapatkan alternatif.
Saya telah diberitahu bahwa antarmuka adalah alternatif untuk melewati metode sebagai parameter, tetapi saya tidak mengerti bagaimana antarmuka dapat bertindak sebagai metode dengan referensi. Jika saya mengerti benar suatu antarmuka hanyalah seperangkat metode abstrak yang tidak didefinisikan. Saya tidak ingin mengirim antarmuka yang perlu didefinisikan setiap saat karena beberapa metode berbeda dapat memanggil metode yang sama dengan parameter yang sama.
Apa yang ingin saya capai adalah sesuatu yang mirip dengan ini:
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
}
dipanggil seperti:
setAllComponents(this.getComponents(), changeColor());
setAllComponents(this.getComponents(), changeSize());