Rumah > Java > javaTutorial > Bagaimana untuk menulis fungsi panggil balik java

Bagaimana untuk menulis fungsi panggil balik java

DDD
Lepaskan: 2024-01-09 14:24:49
asal
1753 orang telah melayarinya

Kaedah penulisan fungsi panggil balik java ialah: 1. Panggilan balik antara muka, tentukan antara muka, yang mengandungi kaedah panggil balik, gunakan antara muka sebagai parameter di mana panggilan balik perlu dicetuskan, dan panggil kaedah panggil balik pada masa yang sesuai; 2. Panggilan balik Kelas dalaman tanpa nama boleh menggunakan kelas dalaman tanpa nama untuk melaksanakan fungsi panggil balik untuk mengelak daripada mencipta kelas pelaksanaan tambahan. Dalam Java 8 dan ke atas, ungkapan Lambda boleh digunakan untuk memudahkan penulisan fungsi panggil balik.

Bagaimana untuk menulis fungsi panggil balik java

Sistem pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.

Fungsi panggil balik Java (Fungsi Panggilan Balik) ialah teknologi pengaturcaraan biasa yang digunakan untuk melaksanakan pemprosesan tak segerak dan atur cara dipacu peristiwa. Melalui fungsi panggil balik, anda boleh menghantar fungsi sebagai parameter kepada fungsi lain, dan apabila peristiwa tertentu berlaku, fungsi yang diluluskan dipanggil untuk mengendalikan acara tersebut.

Di Java, terdapat banyak cara untuk melaksanakan fungsi panggil balik Berikut adalah beberapa cara biasa untuk menulis:

1. Antara muka ini akan dilaksanakan sebagai antara muka panggil balik untuk menentukan logik pemprosesan fungsi panggil balik.

public interface Callback {
    void onCallback();
}
Salin selepas log masuk

Gunakan antara muka ini sebagai parameter di mana panggilan balik perlu dicetuskan, dan panggil kaedah panggil balik pada masa yang sesuai.

public class Caller {
    public void doSomething(Callback callback) {
        // 执行一些操作
        // ...
        // 触发回调
        callback.onCallback();
    }
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Buat kelas yang melaksanakan antara muka panggil balik dan melaksanakan logik khusus kaedah panggil balik.

public class CallbackImpl implements Callback {
    @Override
    public void onCallback() {
        // 处理回调逻辑
        // ...
    }
}
Salin selepas log masuk

Penggunaan:

Caller caller = new Caller();
Callback callback = new CallbackImpl();
caller.doSomething(callback);
Salin selepas log masuk

2. Panggilan balik kelas dalaman tanpa nama:

Anda boleh menggunakan kelas dalaman tanpa nama untuk melaksanakan fungsi panggil balik untuk mengelakkan daripada membuat kelas pelaksanaan tambahan.

public class Caller {
    public void doSomething(Callback callback) {
        // 执行一些操作
        // ...
        // 触发回调
        callback.onCallback();
    }
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Penggunaan:

Caller caller = new Caller();
caller.doSomething(new Callback() {
    @Override
    public void onCallback() {
        // 处理回调逻辑
        // ...
    }
});
Salin selepas log masuk

3. Panggilan balik ungkapan Lambda:

Dalam Java 8 dan ke atas, ungkapan Lambda boleh digunakan untuk memudahkan penulisan fungsi panggil balik.

public class Caller {
    public void doSomething(Callback callback) {
        // 执行一些操作
        // ...
        // 触发回调
        callback.onCallback();
    }
}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Cara menggunakan:

Caller caller = new Caller();
caller.doSomething(() -> {
    // 处理回调逻辑
    // ...
});
Salin selepas log masuk

Tidak kira kaedah yang digunakan, intipati fungsi panggil balik adalah untuk menghantar fungsi sebagai parameter kepada fungsi lain, dan memanggil fungsi yang diluluskan pada masa yang sesuai untuk mengendalikan acara tertentu. Melalui fungsi panggil balik, program boleh diproses secara tak segerak dan dipacu peristiwa, meningkatkan fleksibiliti dan skalabiliti program.

Atas ialah kandungan terperinci Bagaimana untuk menulis fungsi panggil balik java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan