ホームページ >Java >&#&チュートリアル >Java でメソッドをパラメータとして渡すことを効果的にシミュレートするにはどうすればよいですか?
Java でメソッドをパラメータとして渡す: 代替手段の探索
Java では、メソッドをパラメータとして直接渡すことはできません。ただし、インターフェイスやコマンド パターンなど、同様の機能を可能にする代替手段があります。
代替としてのインターフェイス
インターフェイスは、メソッドを渡すための適切な代替手段ではありません。これらは抽象的で実際の実装を定義しないため、パラメータとして使用します。インターフェイスは、クラスまたは他のインターフェイスによって実装する必要があるメソッドのセットを宣言するだけです。
コマンド パターン: メソッドの受け渡しをシミュレートする方法
コマンド パターンは、 Java でメソッド受け渡しをエミュレートする方法。これには、実行するメソッドをカプセル化するコマンド オブジェクトの作成が含まれます。その後、コマンド オブジェクトをパラメータとして別のメソッドに渡すことができます。
コマンド パターンの実装例を次に示します。
public interface Command { public void execute(Object data); } public class PrintCommand implements Command { public void execute(Object data) { System.out.println(data.toString()); } } public static void callCommand(Command command, Object data) { command.execute(data); }
コマンド パターンを使用するには、コマンド オブジェクトを定義できます。パラメータとして渡したいメソッドごとに。次に、以下に示すように、コマンド オブジェクトを別のメソッドに渡すことができます。
callCommand(new PrintCommand(), "hello world");
コマンド パターンを利用すると、Java の制限に準拠しながら、メソッドをパラメータとして渡すのと同様の動作を実現できます。
>注: Java 8 では、ラムダ式によりメソッド実装をカプセル化するより簡潔な方法が提供され、このソリューションはさらに便利になります。効率的です。
以上がJava でメソッドをパラメータとして渡すことを効果的にシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。