Rumah  >  Artikel  >  Java  >  Kelas Abstrak di Jawa

Kelas Abstrak di Jawa

PHPz
PHPzasal
2024-08-30 15:59:08883semak imbas

Artikel berikut menyediakan garis besar untuk Kelas Abstrak di Jawa. Kelas abstrak adalah seperti kelas biasa lain di Jawa. Perbezaan ketara antara kelas abstrak dan biasa ialah mencipta kelas abstrak, kita mesti menggunakan kata kunci 'ABSTRAK'. Ia adalah pemisahan pelaksanaan kelas. Mereka pernah mentakrifkan ciri-ciri yang sangat biasa bagi subkelasnya. Jenis kelas sedemikian dirujuk sebagai kelas Abstrak. Paling penting, kita tidak boleh mencipta objek kelas abstrak.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Kelas abstrak boleh mengandungi kaedah abstrak dan bukan abstrak. Walau bagaimanapun, mereka tidak boleh mengandungi badan kaedah abstrak yang hanya boleh disediakan oleh subkelas. Jika subkelas tidak melaksanakan kaedah abstrak, maka kita mesti menjadikannya ABSTRAK secara eksplisit. Dalam erti kata lain, jika kelas mengandungi kaedah abstrak, ia mesti mentakrifkan dirinya sebagai ABSTRAK. Kita boleh mengumpulkan beberapa kelas Java menggunakan kelas abstrak, mengoptimumkan kod, menjadikan kod lebih mudah dibaca dan mengurangkan redundansi. Ia juga menyediakan templat untuk kelas akan datang.

Sintaks Kelas Abstrak dalam Java

Sintaks kelas abstrak adalah seperti berikut:

Kelas Abstrak di Jawa

Bagaimanakah Kelas Abstrak Berfungsi dalam Java?

  • Kelas abstrak mempunyai kaedah abstrak dan kaedah bukan abstrak, iaitu kaedah abstrak tanpa badan, dan mereka boleh mempunyai kaedah dengan pelaksanaan.
  • Kelas abstrak digunakan untuk menyediakan ciri yang paling biasa yang khusus untuk kelas yang berbeza. Subkelas boleh melaksanakan kaedah abstrak tersebut secara berbeza mengikut keperluan atau keperluan mereka.
  • Kami tidak boleh mencipta objek kelas abstrak menggunakan pengendali 'baharu', tetapi kami masih boleh menentukan pembinanya, yang hanya boleh digunakan dalam pembina subkelasnya. Pembina subkelas boleh mengakses pembina superclass untuk memulakan pembolehubahnya, yang mungkin digunakan dalam subkelas untuk keperluan selanjutnya.

Contoh Kelas Abstrak dalam Java

Contoh berikut diberikan di bawah:

Manusia.java

package com.cont.article;
public abstract class Human
{
public abstract void whatTheylike();
public void doTheysleep()
{
System.out.println("Yes every human require sleep.");
}
}

Manusia1.java

package com.cont.article;
public class Human1 extends Human
{
@Override
public void whatTheylike()
{
System.out.println("we like to have icecream.");
}
}

Manusia2.java

package com.cont.article;
public class Human2 extends Human
{
@Override
public void whatTheylike()
{
System.out.println("we like to have coffee.");
}
}

TestHuman.java

package com.cont.article;
public class TestHuman
{
public static void main(String[] args)
{
Human human1 = new Human1();
human1.whatTheylike();
Human human2 = new Human2();
human2.whatTheylike();
human1.doTheysleep();
human2.doTheysleep();
}
}

Output:

Kelas Abstrak di Jawa

Dalam contoh di atas, MANUSIA ialah kelas abstrak yang mentakrifkan keperluan biasa, suka dan tidak suka manusia. Terdapat pelbagai jenis manusia yang berbeza suka dan tidak suka. Jadi setiap manusia boleh menyediakan pelaksanaan tertentu yang mereka suka. Itu akan khusus untuk mereka sahaja.

Kelebihan utama kelas abstrak ialah kami mempunyai pelaksanaan kaedah khusus mengikut keperluan, mengurangkan redundansi, meningkatkan kebolehbacaan kod, menyembunyikan pelaksanaan kaedah dan menyediakan abstraksi separa.

Kita boleh mempunyai satu lagi contoh untuk memahami masa untuk menggunakan kelas Abstrak.

  • Kita harus menggunakan kelas abstrak untuk berkongsi fungsi biasa dengan kelas yang berbeza dengan pelaksanaan tertentu.
  • Dalam kelas abstrak, medan tidak boleh statik dan muktamad; kita juga boleh mempunyai kaedah konkrit, peribadi, awam dan dilindungi.

Katakan kita mempunyai satu kelas Haiwan. Kita mempunyai pelbagai haiwan di Bumi, dan mereka semua berbeza antara satu sama lain dalam beberapa atau pengertian utama. Namun begitu, ia akan mengandungi semua ciri umum semua.

Kini, kelas Haiwan ini tidak boleh mempunyai kaedah khusus untuk setiap Haiwan. Jadi dengan konsep kelas Abstrak, kita boleh melaksanakan fungsi ini tanpa kod berlebihan.

Semua haiwan mempunyai pelbagai jenis bunyi, tabiat, dsb. Contohnya, anjing, kucing, gajah dan makanan ringan mempunyai bunyi yang berbeza. Jadi untuk ini, kita boleh mempunyai kaedah generik dalam kelas induk yang melaluinya semua subkelas atau kelas anak lain boleh menyediakan pelaksanaan khusus mereka.

Dalam kelas induk, iaitu, Haiwan, kita mempunyai satu kaedah abstrak generik yang dipanggil Bunyi (). Jadi setiap kelas kanak-kanak perlu mengatasi kaedah ini dan menyediakan pelaksanaan khususnya.

Kelas dan Antara Muka Abstrak

Di bawah ialah perbezaan antara Kelas Abstrak dan Antara Muka:

  • Kelas abstrak dan antara muka kedua-duanya digunakan untuk mencapai abstraksi dalam Java. Walau bagaimanapun, kelas abstrak menyediakan abstraksi separa, manakala antara muka menyediakan abstraksi 100% atau lengkap.
  • Secara lalai, pembolehubah dalam antara muka adalah muktamad. Tetapi kelas abstrak mengandungi pembolehubah bukan akhir juga. Begitu juga, kelas abstrak juga boleh mempunyai pembolehubah statik, bukan statik. Tetapi antara muka hanya akan termasuk pembolehubah muktamad dan statik.
  • Pembolehubah ahli kelas abstrak boleh menjadi peribadi, awam dan dilindungi, tetapi ia, secara lalai, awam dalam antara muka.
  • Kelas abstrak boleh memanjangkan kelas Java yang lain dan melaksanakan berbilang antara muka, tetapi satu antara muka hanya boleh memanjangkan antara muka yang lain. Begitu juga, kelas abstrak boleh menyediakan pelaksanaan antara muka, tetapi antara muka tidak boleh berbuat demikian.
  • Kami menggunakan implement dan melanjutkan kata kunci untuk melaksanakan dan melanjutkan antara muka dan kelas.
  • Kami boleh mengubah suai atau mengakses pembolehubah bukan statik dan bukan akhir kelas abstrak melalui kaedah tersebut.

Kesimpulan

Kelas abstrak digunakan untuk menyediakan abstraksi separa. Kelas abstrak tidak boleh digunakan menggunakan kata kunci BAHARU. Kaedah Abstrak tidak mempunyai badan dan sentiasa berakhir dengan koma bertitik (;). Kelas abstrak mengandungi kaedah abstrak dan bukan abstrak. Subkelas superclass abstrak perlu melaksanakan semua kaedah abstrak; jika ia tidak menyediakan, maka ia perlu mengisytiharkan dirinya sebagai kelas abstrak. Subkelas boleh menjadi abstrak walaupun superclass adalah konkrit. Kelas bukan abstrak tidak boleh mengandungi kaedah abstrak. Juga, kaedah abstrak adalah tidak statik. Oleh itu, kelas abstrak juga mempunyai kaedah abstrak dan konkrit, jadi mereka tidak dapat memberikan abstraksi 100%. Ia adalah satu proses untuk menyembunyikan logik yang kompleks daripada pengguna akhir dan menunjukkan kepada mereka perkhidmatan sahaja.

Sebaliknya, subkelas boleh menjadi abstrak walaupun superclassnya adalah konkrit dan juga boleh digunakan sebagai jenis data. Kelas abstrak mungkin mempunyai medan statik dan kaedah statik. Anda boleh menggunakan ahli statik ini dengan rujukan kelas.

Atas ialah kandungan terperinci Kelas Abstrak di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:Penyegerakan Statik dalam JavaArtikel seterusnya:Penyegerakan Statik dalam Java