Rumah > Java > javaTutorial > Mengapa Rujukan Kaedah dengan Jenis Pulangan Boleh Melaksanakan Antara Muka Pengguna di Java?

Mengapa Rujukan Kaedah dengan Jenis Pulangan Boleh Melaksanakan Antara Muka Pengguna di Java?

Linda Hamilton
Lepaskan: 2024-11-22 10:25:12
asal
283 orang telah melayarinya

Why Can Method References with Return Types Implement the Consumer Interface in Java?

Mengapa Rujukan Kaedah dengan Jenis Pulangan Padan dengan Antara Muka Pengguna

Dalam Java, rujukan kaedah boleh digunakan untuk mencipta antara muka berfungsi. Antara muka Pengguna, sebagai contoh, mengambil satu hujah dan melakukan tindakan ke atasnya. Anehnya, rujukan kaedah dengan jenis pulangan juga boleh sepadan dengan antara muka Pengguna.

Keputusan untuk membenarkan gelagat ini adalah berdasarkan idea untuk menyesuaikan kaedah kepada antara muka berfungsi dengan cara yang serupa dengan cara ia dipanggil. Khususnya, sebarang kaedah pengembalian nilai boleh disesuaikan dengan antara muka Pengguna, walaupun jika nilai pulangan diabaikan.

Mengenai ungkapan lambda, terdapat dua bentuk: (args) -> ungkapan dan (args) -> { pernyataan* }. Borang terakhir boleh menjadi serasi tidak sah jika tiada laluan kod cuba mengembalikan nilai. Bentuk dahulu adalah serasi nilai jika ungkapan menilai kepada nilai. Walau bagaimanapun, jika ungkapan itu juga merupakan pernyataan (seperti penyembahan kaedah atau pengendali kenaikan/pengurangan), ia boleh serasi dengan batal.

Sebagai contoh, ungkapan s -> s adalah serasi nilai, manakala s -> i adalah serasi kosong. Ini kerana pengendali kenaikan/pengurangan boleh digunakan sebagai penyata sendiri. Satu lagi ungkapan serasi kosong ialah s -> new Whatever(s), sebagai ungkapan penciptaan contoh kelas juga boleh digunakan sebagai pernyataan.

Menariknya, (arg) -> methodReturningVoid(arg) ialah satu-satunya bentuk ungkapan yang tidak serasi nilai.

Atas ialah kandungan terperinci Mengapa Rujukan Kaedah dengan Jenis Pulangan Boleh Melaksanakan Antara Muka Pengguna di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan