如何在Java 中模擬方法引用傳遞
在Java 中,將方法作為參數傳遞可能看起來是一個難以捉摸的概念,但是有其他方法可以實現類似的功能。其中一種技術就是利用介面。
雖然介面本身不能表示特定的方法實現,但它們定義了一個指定方法簽署的契約。這允許您建立遵循介面並提供所需方法實作的匿名內部類別或 lambda 表達式。
考慮以下範例,其旨在模仿方法的按引用傳遞的行為:
public void setAllComponents(Component[] myComponentArray, Command command) { for (Component leaf : myComponentArray) { if (leaf instanceof Container) { //recursive call if Container Container node = (Container) leaf; setAllComponents(node.getComponents(), command); } //end if node command.execute(leaf); } //end looping through components }
這裡,Command 是一個定義了執行方法的介面。然後,您可以建立此介面的實例來表示您希望呼叫的實際方法實作。
要使用此方法,您將呼叫setAllComponents 方法,如下所示:
setAllComponents(this.getComponents(), new Command() { @Override public void execute(Component component) { // Code to execute for each component } });
此技術允許您將特定的方法實作傳遞給setAllComponents 方法,提供類似的按引用傳遞功能。
以上是如何在 Java 中模擬方法的參考傳遞?的詳細內容。更多資訊請關注PHP中文網其他相關文章!