Java Interface (Interface) adalah serangkaian deklarasi metode dan merupakan kumpulan fitur metode. Antarmuka hanya memiliki karakteristik metode tetapi tidak ada implementasi metode. Oleh karena itu, metode ini dapat diimplementasikan oleh kelas yang berbeda di berbagai tempat, dan implementasi ini dapat memiliki perilaku (fungsi) yang berbeda.
1. Antarmuka Arti:
1. Antarmuka Java, struktur yang ada dalam bahasa Java memiliki sintaks dan struktur spesifik;
2. Kumpulan fitur metode yang dimiliki kelas adalah abstraksi logis.
Yang pertama disebut "Java Interface" dan yang terakhir disebut "Antarmuka".
Antarmuka Java sendiri tidak memiliki implementasi, karena antarmuka Java tidak melibatkan penampilan, tetapi hanya menggambarkan perilaku publik, sehingga antarmuka Java lebih abstrak daripada kelas abstrak Java.
Metode antarmuka Java hanya bisa abstrak dan publik. Antarmuka Java tidak dapat memiliki konstruktor. Antarmuka Java dapat memiliki sifat publik, statis dan akhir.
2. Mengapa menggunakan antarmuka java adalah bahasa waris tunggal? Jika Anda ingin menambahkan fungsi baru ke kelas tertentu dengan kelas induk yang ada, di bawah prinsip OCP, solusinya adalah menambahkan kelas orang tua ke kelas induknya, atau menambahkan kelas orang tua ke kelas induknya sampai bergerak ke bagian atas struktur hierarki kelas. Dengan cara ini, desain penyisipan kelas tertentu menjadi modifikasi semua kelas di seluruh hierarki.
Ketika ada antarmuka, dalam contoh di atas, tidak perlu mempertahankan semua kelas di seluruh struktur hierarki.
3. Antarmuka memiliki kemampuan memasukkan:
Kelas apa pun dalam hierarki dapat mengimplementasikan antarmuka, yang akan mempengaruhi semua subkelas dari kelas ini, tetapi tidak akan mempengaruhi superclass dari kelas ini. Kelas ini harus mengimplementasikan metode yang ditentukan oleh antarmuka ini, dan subclassnya dapat secara otomatis mewarisi metode ini dari kelas ini, dan tentu saja mereka juga dapat memilih untuk mengganti semua metode ini, atau beberapa di antaranya. Pada saat ini, subclass ini dapat dicolokkan (dan dapat dimuat dengan jenis antarmuka ini, melewati dan menerapkan semua subkelasnya).
Antarmuka menyediakan panggilan interpolasi dan metode. Semakin besar skala sistem perangkat lunak, semakin lama siklus hidup. Antarmuka memastikan fleksibilitas dan skalabilitas sistem perangkat lunak dan kemampuan interpolasi.
Justru karena antarmuka Java single warisan memiliki kemungkinan ekstensi baru (penggantian warisan berganda); 3. Jenis Hierarki Java Interface (dan Kelas Abstrak) umumnya digunakan sebagai titik awal dari hierarki tipe.
Jika kelas sudah memiliki supertype utama, maka dengan menerapkan antarmuka, kelas dapat memiliki supertype kecil lainnya, yang disebut tipe hibrida.
4. Klasifikasi Antarmuka Java
1. Antarmuka Biasa (termasuk Definisi Metode) Antarmuka Publik ActionListener {public abstrak void actionPerformed (ActionEvent Event);}
2. Antarmuka identifikasi (tidak ada metode dan definisi atribut) Antarmuka identifikasi adalah antarmuka tanpa metode dan atribut apa pun. Antarmuka identifikasi tidak memiliki persyaratan semantik untuk kelas yang mengimplementasikannya. Ini hanya menunjukkan bahwa kelas yang mengimplementasikannya milik jenis tertentu.
Antarmuka Publik Serializable {}; 3. Antarmuka konstan mengacu pada penggunaan antarmuka Java untuk mendeklarasikan beberapa konstanta, dan kemudian kelas yang mengimplementasikan antarmuka ini menggunakan konstanta ini.
Public Interface AppConstants {public static final data_source_name = "test"; public static final user_name = "test"; public static final password = "test";}
5. Karakteristik antarmuka
1. Variabel anggota dalam antarmuka java adalah publik, statis, dan final secara default (yang semuanya dapat dihilangkan), dan harus ditampilkan dan diinisialisasi, yaitu, variabel anggota dalam antarmuka adalah konstanta (tutup, dipisahkan oleh "_" antara kata -kata)
2. Metode dalam antarmuka Java adalah tipe publik dan abstrak secara default (semua dapat dihilangkan). Tanpa badan metode, mereka tidak dapat dipakai.
3. Antarmuka Java hanya dapat berisi variabel anggota jenis publik, statis, jenis akhir dan metode anggota publik, jenis abstrak.
4. Tidak ada konstruktor dalam antarmuka dan tidak dapat dipakai.
5. Satu antarmuka tidak dapat menerapkan antarmuka lain, tetapi dapat mewarisi banyak antarmuka lainnya.
6. Antarmuka Java harus mengimplementasikan metode abstraknya melalui kelas.
7. Saat kelas mengimplementasikan antarmuka Java tertentu, ia harus menerapkan semua metode abstrak dalam antarmuka, jika tidak, kelas ini harus dinyatakan sebagai kelas abstrak
8. Tidak diizinkan untuk membuat instance antarmuka (instance) tetapi diizinkan untuk menentukan variabel referensi dari tipe antarmuka. Variabel referensi ini mengacu pada instance kelas yang mengimplementasikan antarmuka ini.
9. Kelas hanya dapat mewarisi satu kelas induk langsung, tetapi dapat mengimplementasikan beberapa antarmuka, secara tidak langsung mengimplementasikan beberapa warisan.
6. Perbedaan antara antarmuka java dan kelas abstrak java fokus desain yang berorientasi objek adalah abstraksi. Kelas abstrak dan antarmuka terletak di lapisan atas pohon warisan.
Kesamaan:
1. Mewakili lapisan abstraksi sistem. Ketika suatu sistem menggunakan kelas pada pohon warisan, ia harus mencoba mendeklarasikan variabel referensi sebagai jenis abstrak atas dari pohon warisan. Ini dapat meningkatkan kopling antara kedua sistem. 2. Tidak ada yang bisa dipakai. 3. Keduanya berisi metode abstrak. Metode abstrak ini digunakan untuk menggambarkan layanan apa yang dapat disediakan oleh sistem, tetapi tidak mengandung perbedaan dalam badan metode:
1. Perbedaan terbesar adalah bahwa kelas abstrak Java dapat memberikan implementasi parsial dari metode tertentu, sedangkan antarmuka Java tidak bisa; Ini mungkin satu -satunya keuntungan dari kelas abstrak Java, tetapi keuntungan ini sangat berguna.
Anda dapat menambahkan metode konkret baru ke kelas abstrak, dan semua subkelas akan secara otomatis mendapatkan metode ini; Tetapi tambahkan metode baru ke antarmuka Java, dan semua kelas yang mengimplementasikan antarmuka ini tidak dapat berhasil dikompilasi, dan Anda harus secara manual menambahkan implementasi metode ini ke setiap kelas yang mengimplementasikan antarmuka;
2. Implementasi kelas abstrak hanya dapat diberikan oleh subclass, yaitu, implementasi hanya dapat berada dalam struktur hierarkis yang diwariskan yang ditentukan oleh kelas abstrak; Oleh karena itu, efektivitas kelas abstrak sebagai alat definisi tipe sangat berkurang.
Antarmuka java. Kelas apa pun yang mengimplementasikan metode yang ditentukan oleh antarmuka Java dapat memiliki jenis antarmuka ini, dan kelas dapat mengimplementasikan beberapa antarmuka Java, sehingga kelas ini memiliki banyak jenis.
Seperti yang dapat dilihat di atas, antarmuka Java adalah alat yang ideal untuk mendefinisikan tipe campuran. Kelas campuran menunjukkan bahwa kelas tidak hanya memiliki perilaku tipe primer tertentu, tetapi juga perilaku sekunder lainnya.
3. Menggabungkan keunggulan masing -masing dari kelas abstrak dan antarmuka Java dalam poin 1 dan 2, pola desain klasik akan keluar:
Pekerjaan mendeklarasikan suatu jenis masih dilakukan oleh antarmuka Java, tetapi pada saat yang sama kelas abstrak Java diberikan dan antarmuka ini diimplementasikan. Kelas konkret lain yang juga termasuk dalam jenis abstrak ini dapat memilih untuk mengimplementasikan antarmuka Java ini atau mewarisi kelas abstrak ini. Dengan kata lain, dalam hierarki, antarmuka Java berada di atas dan kemudian diikuti oleh kelas abstrak. Keuntungan terbesar dari keduanya dapat dimaksimalkan. Mode ini adalah "mode adaptasi default".
Pola ini digunakan dalam API bahasa Java, dan semuanya mengikuti spesifikasi penamaan tertentu: Abstrak + Nama Antarmuka.
7. Prinsip keseluruhan menggunakan antarmuka dan kelas abstrak:
1. Gunakan antarmuka sebagai jendela untuk interaksi antara sistem dan dunia luar. Berdiri dari perspektif pengguna luar (sistem lain), antarmuka menjanjikan pengguna layanan apa yang dapat disediakan oleh sistem, dan dari perspektif sistem itu sendiri, yang harus diimplementasikan antarmuka. Antarmuka adalah tipe abstrak tingkat tertinggi dalam sistem. Melalui interaksi antarmuka, sistem kopling A antara kedua sistem dapat ditingkatkan untuk berinteraksi melalui sistem B. Ini berarti bahwa ketika sistem A mengakses sistem B, variabel referensi menyatakan variabel referensi sebagai tipe antarmuka dalam sistem B. Variabel referensi ini mengacu pada contoh kelas implementasi antarmuka dalam sistem B.
antarmuka publik b {}
Kelas publik C mengimplementasikan b {}
kelas publik A {b a = new c (); }
2. Antarmuka Java itu sendiri harus sangat stabil. Setelah antarmuka Java diformulasikan, itu tidak diperbolehkan untuk pergi seperti yang terjadi, jika tidak ia akan berdampak pada pengguna eksternal dan sistem itu sendiri. 3. Gunakan kelas abstrak untuk menyesuaikan titik ekstensi dalam sistem, dan kelas abstrak untuk menyelesaikan implementasi parsial. Beberapa fungsi harus diimplementasikan melalui subkelasnya.
Artikel di atas merinci konsep, klasifikasi, dan perbedaan dari kategori abstrak antarmuka Java adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.