ホームページ > Java > &#&チュートリアル > 機能インターフェース

機能インターフェース

Patricia Arquette
リリース: 2025-01-07 08:10:40
オリジナル
418 人が閲覧しました

Interfaces funcionais

関数インターフェース定義

  • 抽象メソッドが 1 つだけ含まれています。

  • 標準メソッドや静的メソッドを使用できます。

  • 抽象メソッドは実装を指定していません。

MyValue インターフェース {
double getValue();
}

注意: Java では、インターフェースに実装されていないメソッドは自動的に抽象であると想定されるため、関数型インターフェースでは、abstract 修飾子は明示的に必要ありません。

関数インターフェイスへの Lambda の割り当て

MyValue myVal = () -> 98.6;

ラムダの戻り値の型とパラメーターは、抽象メソッドと互換性がある必要があります。

抽象メソッド呼び出し:

System.out.println("定数値: " myVal.getValue());

結果: 98.6.

パラメータ付きの関数インターフェース

MyParamValue インターフェース {
double getValue(double v);
}

逆数の計算を含むラムダ:

MyParamValue myPval = (n) -> 1.0 / n;
System.out.println("4 の逆数は " myPval.getValue(4.0));

  • 結果: 0.25.

型推論

コンテキストによって推測されるパラメータのタイプ:
(n) -> 1.0/n; // 型は double

として推論されます

明示的に宣言された型 (オプション):
(二重 n) -> 1.0 / n;

互換性ルール

  • ラムダ式のパラメータの型と数は、抽象メソッドと一致する必要があります。

(int x, int y) -> x y;

結論

  • 関数型インターフェイスにより、ラムダの使用が可能になります。

  • ラムダ式は、抽象メソッドの簡潔な実装を提供します。

  • ターゲットの型コンテキストと型の互換性は、その使用にとって非常に重要です。

以上が機能インターフェースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート