Rumah  >  Artikel  >  Java  >  Apakah alternatif kepada kelas dalaman tanpa nama di Jawa?

Apakah alternatif kepada kelas dalaman tanpa nama di Jawa?

PHPz
PHPzasal
2024-04-30 13:15:011132semak imbas

Ekspresi Lambda, sebagai alternatif kepada kelas dalaman tanpa nama, menyediakan cara yang lebih ringkas untuk mentakrifkan pelaksanaan antara muka berfungsi: gunakan sintaks pendek (parameter) -> ungkapan untuk mentakrifkan fungsi tanpa nama. Sesuai untuk situasi di mana antara muka berfungsi perlu dilaksanakan (hanya satu kaedah abstrak). Boleh memudahkan tugas seperti menyusun senarai dan definisi benang.

Java 匿名内部类的替代方案是什么?

Lambda Expressions

Sebagai alternatif kepada kelas dalaman tanpa nama, Java 8 memperkenalkan ungkapan lambda. Ungkapan lambda ialah fungsi tanpa nama ringan yang boleh ditakrifkan dan digunakan tanpa mengisytiharkan kelas.

Sintaks:

(parameters) -> expression

Sebagai contoh, kod berikut menggunakan kelas dalaman tanpa nama untuk menambah pendengar bagi butang:

Button button = new Button();
button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        // 实现事件处理代码
    }
});

Menggunakan ungkapan lambda, ia boleh dipermudahkan kepada:

rreee

antara mukabfunctional ungkapan hanya boleh digunakan Untuk melaksanakan antara muka berfungsi, iaitu antara muka yang mengandungi hanya satu kaedah abstrak. Beberapa antara muka berfungsi terbina dalam disediakan di Java, seperti

. Kes praktikal kelas dalaman, cara yang lebih elegan untuk menulis kod. Mereka memudahkan penggunaan antara muka berfungsi dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

Atas ialah kandungan terperinci Apakah alternatif kepada kelas dalaman tanpa nama di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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