Takrifan Antara Muka Fungsian
Mengandungi hanya satu kaedah abstrak.
Boleh mempunyai kaedah standard dan/atau statik.
Kaedah abstrak tidak menyatakan pelaksanaan.
Antara muka MyValue {
gandakan getValue();
}
Peringatan: Dalam antara muka berfungsi, pengubah suai abstrak tidak diperlukan secara eksplisit, kerana Java menganggap bahawa sebarang kaedah yang tidak mempunyai pelaksanaan dalam antara muka adalah abstrak secara automatik.
Menetapkan Lambda kepada Antara Muka Berfungsi
MyValue myVal = () -> 98.6;
Jenis pemulangan dan parameter lambda mesti serasi dengan kaedah abstrak.
Panggilan kaedah abstrak:
System.out.println("Nilai malar: " myVal.getValue());
Keputusan: 98.6.
Antara Muka Berfungsi dengan Parameter
Antara muka MyParamValue {
double getValue(double v);
}
Lambda dengan pengiraan timbal balik:
MyParamValue myPval = (n) -> 1.0 / n;
System.out.println("Salingan 4 ialah " myPval.getValue(4.0));
Taip Inferens
Jenis parameter disimpulkan mengikut konteks:
(n) -> 1.0/n; // Taip disimpulkan sebagai berganda
Jenis yang diisytiharkan secara eksplisit (pilihan):
(berganda n) -> 1.0 / n;
Peraturan Keserasian
(int x, int y) -> x y;
Kesimpulan
Antara muka berfungsi membolehkan penggunaan lambda.
Ekspresi Lambda menyediakan pelaksanaan ringkas untuk kaedah abstrak.
Konteks jenis sasaran dan keserasian jenis adalah penting untuk penggunaannya.
Atas ialah kandungan terperinci Antara muka berfungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!