Saya menemukan fungsi panggilan balik lagi, kali ini saya berencana untuk menulis dan membagikannya.
Fungsi panggilan balik yang disebut SO, atau metode panggilan balik dalam bahasa yang berorientasi objek, hanya berbicara, itu adalah fungsi yang disebut pada waktu tertentu (terjadi peristiwa).
Untuk detail lebih lanjut: ini adalah fungsi A, sebagai parameter, yang diteruskan ke fungsi lain B, dan kemudian B dipanggil oleh B pada suatu waktu.
Ada keraguan di sini.
Ya, Anda memang dapat memanggil fungsi lain di badan fungsi. Dapat menyebut fungsi B hanya dapat memanggil fungsi.
Mari kita bicarakan fungsi callback. adalah kata kunci acara; Saya harus melakukan Android sekarang, jadi saya masih tidak bisa melepaskan Java, dan hari ini saya mengalami masalah fungsi panggilan balik ini, yang saya temui dari Java. Mudah dan memahami realisasi panggilan balik, tetapi Java, saya tidak berpikir begitu, kalau tidak saya tidak akan menulis blog ini.
Nah, terus katakan, realisasi metode pemulihan di Java. Fokus blog ini adalah Java. Di Java, metode callback diimplementasikan oleh Pinjaman Antarmuka.
"Referensi ke objek yang dibuat oleh kelas yang mengimplementasikan antarmuka tertentu ditetapkan ke variabel antarmuka dari pernyataan antarmuka, sehingga variabel antarmuka dapat memanggil metode implementasi implementasi antarmuka."
Sangat bulat, penjelasan singkat:
Ada antarmuka, ada metode dalam antarmuka (metode ini adalah menelepon kembali):
antarmuka callbackInterface {void callbackMethod ();} Kita tahu bahwa objek antarmuka tidak dapat digunakan secara langsung, karena metode di dalamnya tidak terwujud. Jadi temukan kelas untuk mengimplementasikan antarmuka ini.
Jadi tambahkan kelas sekarang untuk mengimplementasikan antarmuka ini:
antarmuka callbackInterface {void callbackMethod ();} kelas callbackclass mengimplementasikan callbackInterface {@Override public voidMetho d () {System.out.println ("Hello");}}Nah, langkah terakhir: Tetapkan objek yang mengimplementasikan kelas yang mengimplementasikan antarmuka ke variabel antarmuka pernyataan (saya menulisnya ke dalam metode, dan kemudian menambahkan jenis shell di luar):
Kelas publik callbackTest {antarmuka callbackInterface {void callbackMethod ();} kelas callbackclass mengimplementasikan callbackInterface {e public void callbackMethod () {System.out.println ("hello");}} public void showcallback () {callbackInterface iTface = callback = callback = callback = callback = callback = callback iTface = {callbackitface = callback = Callback = callback callback i itface = callback neewback );Sekarang Anda dapat menelepon dan mencoba:
Tes kelas publik {public static void main (string [] art) {new callbackTest ().Jika tidak ada kecelakaan, saya akan berhasil mengeluarkan halo, saya di sini.
Setelah membaca contohnya, apa yang harus saya lakukan? , dan karena Java tidak dapat mengirimkan metode ini sebagai parameter, kita harus meletakkan metode panggilan balik ini di antarmuka (mengapa bukan kelas? Bukan kelas abstrak? Alih -alih antarmuka? Anda dapat menemukan kesamaan dan perbedaan antara kategori abstrak dan Antarmuka sendiri dan selesaikan masalah ini sendiri). Jika ada antarmuka, itu akan diimplementasikan oleh kelas. Jika Anda memahami hal ini, ada fokus, yang merupakan polimorfisme.
Untuk menempatkannya satu lagi, kelas mana pun yang mengimplementasikan antarmuka callbackInterface di sini dapat ditempatkan di belakang yang baru (yaitu, penugasan): yang berikut (yaitu, penugasan):
Public CallbackTest {Interface callbackInterface {void callbackMethod ();} kelas callbackClass mengimplementasikan callbackInderface {e public void callbackMethod () {System.out.println ("hello");}} class controller {private callbackInderface cbitf; Untuk mensimulasikan insiden, tidak ada nilai praktis, boolean publik sesuatu yanghaputhapinghaping; "Panggilan" dan "Panggilan Fungsi Callback diimplementasikan." = controller baru (CBC);Pada akhirnya, ini sering ditemui di Android.
Di atas adalah pemahaman dan penggunaan fungsi pemulihan individu.