Di Java, abstraksi dicapai melalui kelas abstrak dan antara muka. Kedua-duanya mengandungi kaedah abstrak yang mesti dilaksanakan oleh subkelas atau kelas pelaksana. Berikut ialah perbezaan penting antara kelas abstrak dan antara muka.
Sr.No. | key | Kelas abstrak | Antaramuka |
---|---|---|---|
Kaedah yang disokong | Kelas abstrak boleh mempunyai kedua-dua abstrak kaedah dan kaedah khusus. | Antara muka hanya boleh mempunyai kaedah abstrak. Bermula dari Java 8, ia boleh mempunyai kaedah lalai dan statik. Antara muka menyokong pelbagai warisan. | 3 |
Pembolehubah yang disokong | Menyokong pembolehubah akhir, bukan akhir, statik dan bukan statik. | Hanya pembolehubah statik dan muktamad dibenarkan. | 4 |
Pelaksanaan | Kelas abstrak boleh melaksanakan antara muka. | Antara muka tidak perlu melaksanakan antara muka, atau ia boleh memanjangkan antara muka. | 5 |
Kata kunci | Kelas abstrak diisytiharkan menggunakan kata kunci abstrak. | Antara muka diisytiharkan menggunakan kata kunci antara muka. | 6 |
Warisan | Kelas abstrak boleh mewarisi kelas lain menggunakan kata kunci lanjutan dan melaksanakan antara muka. | Antara muka hanya boleh mewarisi antara muka. | 7 |
Warisan | Kelas abstrak boleh diwarisi menggunakan kata kunci extends. | Antara muka hanya boleh dilaksanakan menggunakan kata kunci implements. | 8 |
Kelas abstrak boleh mempunyai sebarang jenis ahli, seperti persendirian dan awam. | Antara muka hanya boleh mempunyai ahli awam. | ||
JavaTester.javapublic class JavaTester { public static void main(String args[]) { Animal tiger = new Tiger(); tiger.eat(); Cat lion = new Lion(); lion.eat(); } } interface Animal { public void eat(); } class Tiger implements Animal { public void eat(){ System.out.println("Tiger eats"); } } abstract class Cat { abstract public void eat(); } class Lion extends Cat{ public void eat(){ System.out.println("Lion eats"); } } Salin selepas log masuk Output |
Atas ialah kandungan terperinci Perbezaan antara kelas abstrak dan antara muka dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!