Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menyelesaikan Perlanggaran Nama Kaedah Apabila Melaksanakan Antara Muka Java Berbilang?
Mengatasi Perlanggaran Nama Kaedah dalam Pelaksanaan Antara Muka Java
Di Java, berbilang antara muka boleh wujud bersama dengan kaedah yang mempunyai tandatangan yang sama. Walau bagaimanapun, melaksanakan kaedah sedemikian dalam satu kelas memberikan cabaran, kerana pengkompil tidak membenarkan berbilang pelaksanaan.
Penyelesaian:
Tidak seperti C#, Java tidak menyokong pelaksanaan antara muka yang jelas. Oleh itu, tiada penyelesaian langsung untuk memintas perlanggaran ini.
Alternatif:
Contoh:
Untuk antara muka berikut:
interface ISomething { void doSomething(); } interface ISomething2 { void doSomething(); }
Kelas boleh dilaksanakan seperti berikut:
class Impl implements ISomething, ISomething2 { @Override public void doSomething() { if (this instanceof ISomething) { // Perform ISomething logic } else if (this instanceof ISomething2) { // Perform ISomething2 logic } else { throw new UnsupportedOperationException(); } } }
Sementara penyelesaian ini menangani isu tersebut, ia mungkin memperkenalkan kerumitan dan potensi untuk ralat logik. Oleh itu, adalah penting untuk mempertimbangkan keperluan khusus kod anda dan memilih pendekatan yang paling sesuai.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyelesaikan Perlanggaran Nama Kaedah Apabila Melaksanakan Antara Muka Java Berbilang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!