Kita semua tahu bahawa objek diterangkan melalui kelas, tetapi itu tidak bermakna semua kelas digunakan untuk menerangkan objek
Tiada maklumat yang mencukupi dalam kelas untuk menerangkan objek tertentu Ini ialah kelas abstrak
Kata kunci kelas abstrak: abstrak
Pertama. daripada semua, mari kita lihat kelas yang kami tulis sebelum ini:
class Plant { String name; String source; String genus; public void trait() { System.out.println("父类方法"); } } class Tree extends Plant { @Override public void trait() { System.out.println("子类方法"); } }
Memandangkan kaedah ciri adalah kaedah yang ditindih, tidak ada keperluan untuk melaksanakan ciri kelas induk sama sekali, jadi kami boleh mengubahnya ke dalam kaedah abstrak
Nota: Kelas abstrak tidak boleh mempunyai kaedah abstrak, tetapi kaedah abstrak mesti berada di dalam kelas abstrak
abstract class Plant { String name; String source; String genus; public abstract void trait(); } class Tree extends Plant { @Override public void trait() { System.out.println("子类方法"); } }
1. Kelas abstrak bertujuan untuk diwarisi, jadi mereka tidak boleh dijadikan instantiated Selain daripada ini, mereka tidak berbeza daripada kelas biasa
2. Tidak boleh ada kaedah abstrak dalam. kelas abstrak, tetapi kaedah abstrak mestilah dalam abstrak Dalam kelas
3 Kelas biasa mewarisi kelas abstrak, dan semua kaedah abstrak dalam kelas abstrak perlu ditulis semula
4 kelas boleh mewarisi kelas abstrak, dan tidak perlu menulis semula kaedah abstrak pada masa ini
5 Akhir tidak boleh mengubah suai kelas abstrak dan kaedah abstrak
6 dan statik
Sesetengah orang mungkin merasa pelik: kelas biasa juga boleh digunakan sebagai ibu bapa Kelas itu diwarisi, mengapa kita perlu mencipta kelas abstrak yang lain?
Kami juga mungkin menganggap senario: anda membuat instantiate objek kelas induk apabila menginstant objek, seperti berikut:
public static void main(String[] args) { Plant tree=new Plant(); tree.trait(); }
Jika kelas induk ialah kelas biasa, pengkompil tidak akan melaporkan ralat pada masa ini , panggil terus kaedah kelas induk
Jika kelas induk ialah kelas abstrak, kerana kelas abstrak tidak boleh digunakan, pengkompil akan melaporkan ralat secara langsung, supaya masalahnya boleh ditemui lebih awal
Kononnya antara muka ialah tatakelakuan awam Contohnya, jika saiz kertas A4 ialah 210mm*. 297mm, maka anda hanya boleh meneruskan mengikut spesifikasi ini
Di Java, antara muka boleh dianggap sebagai spesifikasi awam berbilang kelas, iaitu sejenis data jenis rujukan
Antaramuka. kata kunci: antara muka
Antara muka juga mempunyai beberapa perkara yang perlu diberi perhatian:
1
2. Kaedah dalam antara muka sahaja Ia boleh menjadi kaedah abstrak, dan lalai ialah pengubahsuaian statik awam
3 Pembolehubah ahli antara muka adalah pemalar statik secara lalai, jadi mereka mesti dimulakan
4. Kata kunci yang digunakan untuk melaksanakan antara muka ialah implement, kelas Melaksanakan antara muka masih memerlukan penulisan semula semua kaedah abstrak dalam antara muka
5
6. Antara muka mewarisi antara muka menggunakan sambungan
7 Apabila mencipta antara muka, nama antara muka biasanya bermula dengan huruf besar "I" (pengesyoran, bukan keperluan yang sukar)
8. Antara muka juga boleh menjadi polimorfik
Antaramuka adalah yang paling penting dalam Java Fungsinya adalah untuk merealisasikan warisan berbilang
Sebuah kelas di Java hanya boleh mewarisi satu kelas induk, tetapi ia boleh melaksanakan pelbagai antara muka
Kelas dan antara muka abstrak adalah serupa, tetapi yang paling biasa di antara mereka ialah Perbezaan penting ialah kelas abstrak boleh mempunyai kaedah ahli biasa dan pembolehubah ahli biasa, manakala kaedah dalam antara muka hanya boleh menjadi kaedah abstrak
Selepas pengenalan kelas abstrak dan antara muka, artikel seterusnya akan memperkenalkan beberapa yang lebih penting dalam Antara Muka Java
Atas ialah kandungan terperinci Analisis contoh kelas abstrak Java dan antara muka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!