Analisis mendalam mekanisme panggil balik antara muka Java

王林
Lepaskan: 2024-01-24 20:03:15
ke hadapan
1197 orang telah melayarinya

Analisis mendalam mekanisme panggil balik antara muka Java

Penjelasan terperinci tentang panggilan balik antara muka java

Panggil balik antara muka ialah satu cara untuk menjelmakan polimorfisme. Ia membenarkan rujukan objek kelas yang melaksanakan antara muka diperuntukkan kepada pembolehubah antara muka yang diisytiharkan oleh antara muka, supaya kaedah dalam antara muka yang dilaksanakan oleh kelas boleh dipanggil melalui pembolehubah antara muka. Melakukannya adalah sama dengan memberitahu objek yang sepadan untuk memanggil kaedah antara muka, juga dikenali sebagai panggil balik antara muka. Apabila kelas yang berbeza menggunakan antara muka yang sama, mereka mungkin mempunyai pelaksanaan fungsi yang berbeza, yang bermaksud badan kaedah dalam antara muka boleh berbeza. Oleh itu, tingkah laku yang berbeza boleh dicapai melalui panggilan balik antara muka.

antara muka awam IntefaceHuidiao {

void showMessage();

}

PC kelas awam melaksanakan IntefaceHuidiao {

pertunjukan kekosongan awamMesej() {

Sistem keluar .println("Saya komputer!");

}

}

TV kelas awam melaksanakan IntefaceHuidiao {

pertunjukan kekosongan awamMesej() {

System.out.println ("Saya adalah TV!");

}

}

TestIntefaceHudiao kelas awam {

utama kekosongan statik awam(String[] args) {

IntefaceHuidiao ms ;

ms = TV baharu();

ms.showMessage();

ms = PC baharu();

ms.showMessage();

}

}

Mengapa Java menggunakan panggilan balik antara muka

Cara menerangkannya secara khusus mungkin tidak begitu mudah untuk dijelaskan....

Jom saya tunjukkan program yang saya baru tulis...mudah faham...

antara muka Msg{

void showMessage();

}

kelas NbMsg melaksanakan Msg{

pertunjukan kekosongan awamMesej() {

System.out.println("123456");

}

}

kelas CahrMsg melaksanakan Msg{

pertunjukan kekosongan awamMesej() {

System.out.println("abcdef");

}

}

ujian kelas awam {

pesan msg peribadi;

pertunjukan kekosongan awam() {

System.out.println ("Memproses sesuatu");

msg.showMessage();

}

set kosong awamMsg(Msg msg) {

this.msg = msg;

}

utama kekosongan statik awam(String[] args) {

ujian a = ujian baharu();

a.setMsg(CahrMsg() baharu);

a.show();

a.setMsg(NbMsg() baharu);

a.show();

}

}

Hasilnya ialah:

Berurusan dengan beberapa perkara

abcdef

Berurusan dengan beberapa perkara

123456

Mengapa antara muka boleh melaksanakan panggilan balik

Panggil balik antara muka bermaksud bahawa rujukan objek yang dibuat menggunakan kelas yang melaksanakan antara muka boleh diberikan kepada pembolehubah antara muka yang diisytiharkan oleh antara muka, dan kemudian pembolehubah antara muka boleh memanggil kaedah antara muka yang dilaksanakan oleh kelas. Malah, apabila pembolehubah antara muka memanggil kaedah dalam antara muka yang dilaksanakan oleh kelas, ia memberitahu objek yang sepadan untuk memanggil kaedah antara muka Proses ini dipanggil panggil balik antara muka fungsi objek. Lihat contoh di bawah.

antara muka orang {

batalkan senarai orang();

}

pelajar kelas melaksanakan orang {

senarai orang awam kosong() {

system.out.println("saya pelajar.");

}

}

guru kelas melaksanakan orang {

senarai orang awam kosong() {

system.out.println("saya seorang guru.");

}

}

contoh kelas awam {

utama kekosongan statik awam(args rentetan[]) {

orang a; // Isytiharkan pembolehubah antara muka

a = new student(); // Instantiation, rujukan objek disimpan dalam pembolehubah antara muka

a.peoplelist(); //Panggil balik antara muka

a = new teacher(); // Instantiation, rujukan kepada objek disimpan dalam pembolehubah antara muka

a.peoplelist(); //Panggil balik antara muka

}

}

Hasil:

saya seorang pelajar.

saya seorang guru.

Atas ialah kandungan terperinci Analisis mendalam mekanisme panggil balik antara muka Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:docexcel.net
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