Java でメソッドをパラメータとして渡す
Java には、メソッドをパラメータとして渡すための直接サポートがありません。ただし、同様の機能を実現できる代替オプションがあります。
メソッド参照としてのインターフェイス
インターフェイスはメソッドを直接表すわけではありませんが、メソッドを強制するコントラクト署名を定義します。インスタンス化時の実装。適切なシグネチャを持つインターフェイスを作成すると、それを使用して特定のメソッドを参照できます。
コマンド パターン
コマンド パターンは、メソッドを直接渡す代わりの手段を提供します。これには、メソッド シグネチャを定義するインターフェイスの作成と、このインターフェイスを具象クラスに実装することが含まれます。具象クラスは、呼び出されたときに目的の機能を実行できます。
public interface Command { void execute(Object data); } public class PrintCommand implements Command { @Override public void execute(Object data) { System.out.println(data.toString()); } } public static void callCommand(Command command, Object data) { command.execute(data); }
訪問者パターン
もう 1 つのオプションは訪問者パターンです。このアプローチでは、オブジェクトを走査するためのメソッドを定義するビジター クラスが作成されます。ノードは、acceptVisitor() メソッドを使用して訪問者対応インターフェイスを実装する必要があります。具体的なビジター実装を提供することで、各ノードに必要な機能を定義できます。
インターフェイスは単一のメソッドを参照する簡単な方法を提供しますが、コマンド パターンとビジター パターンはより高い柔軟性と拡張性を提供します。メソッドの呼び出しをオブジェクトまたはカスタム クラスにカプセル化することで、メソッドの実行の管理、追加のパラメーターの受け渡し、将来の機能拡張のサポートが容易になります。
以上がJava でメソッドをパラメータとして渡す効果を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。