Apa itu Kelas Abstrak dan Metode Abstrak di Jawa? Kapan saya harus menggunakannya? Tutorial Terlampir

Diterbitkan: 2019-09-12
java-abstrak-kelas-tutorial-oleh-crunchify

Beberapa hari yang lalu saya menulis artikel tentang Java Fundamental dasar tentang Apa itu Antarmuka di Java dan Bagaimana Penggunaannya? Tutorial ini juga terkait dengan dasar Java fundamental “ Abstract Class and Abstract Method ”.

Apa itu Kelas Abstrak?

Mari kita mulai memahami kelas Abstrak terlebih dahulu dan kemudian kita akan membahas Contoh.

  • Kelas abstrak adalah kelas yang dideklarasikan abstract
  • Kelas abstrak tidak dapat dipakai
  • Kelas abstrak dapat disubklasifikasikan
  • Ini mungkin atau mungkin tidak termasuk metode abstrak
  • Ketika kelas abstrak subclassed , subkelas biasanya menyediakan implementasi untuk semua metode abstrak di kelas induknya
  • Jika subclass tidak menyediakan implementasi maka subclass juga harus dideklarasikan abstract .

Ini adalah basic Java Interview Question . Mungkin 1 st Java Interview Question yang Anda dapatkan saat wawancara.

Bisakah saya mendefinisikan kelas abstrak tanpa menambahkan metode abstrak?

Tentu saja ya. Mendeklarasikan abstrak kelas hanya berarti Anda tidak mengizinkannya untuk dipakai sendiri. Anda tidak dapat memiliki metode abstrak di kelas non-abstrak.

Apa itu Metode Abstrak?

  • abstract method adalah metode yang dideklarasikan tanpa implementasi.
  • Itu hanya memiliki tanda tangan metode.

Mari kita mulai dengan Contoh. Deskripsi Masalah:

  1. Buat kelas CrunchifyExam.java , yang memiliki satu metode abstrak bernama checkResult()
  2. Buat kelas Crunchify1stSchoolExamResult.java , yang memperluas kelas Abstrak CrunchifyExam.java
  3. Buat kelas Crunchify2ndSchoolExamResult.java , yang memperluas kelas Abstrak CrunchifyExam.java
  4. Sekarang kedua kelas di atas harus menyediakan implementasi untuk metode checkResult()
  5. Kedua Sekolah mungkin memiliki procedure atau number of checks yang berbeda untuk mengetahui apakah pengguna PASSED or FAILED , mereka bebas untuk menerapkan checkResult() mereka sendiri

Setelah Anda memperluas kelas CrunchifyExam di Crunchify1stSchoolExamResult.java – Eclipse akan meminta Anda untuk mengimplementasikan metode Abstrak yang disebutkan dalam CrunchifyExam.java

Menerapkan Metode Abstrak - Tutorial Crunchify

Crunchify1st SchoolExamResult.java

Crunchify2 nd SchoolExamResult.java

Hasil Konsol Eclipse:

Cukup klik kanan pada Crunchify2ndSchoolExamResult.java dan jalankan sebagai Java Application untuk melihat hasil di bawah ini.

Sekarang Anda mungkin memiliki pertanyaan

Mengapa saya tidak dapat menggunakan Antarmuka di sini daripada memiliki Abstract Method dan Class Abstrak dan memiliki CrunchifyExam sebagai Antarmuka?

Yah – Sure you could – tetapi Anda juga perlu menerapkan metode getExamTime (), setExamTime (), getExamTime (), setExamTime ().

Dengan menggunakan kelas abstrak, Anda dapat mewarisi implementasi metode lain (non-abstrak). Anda tidak dapat melakukannya dengan antarmuka – antarmuka cannot provide implementasi metode apa pun.

Apakah mungkin membuat kelas abstrak dan final di Jawa?

  • Abstrak dan final adalah konsep yang saling eksklusif.
  • Jadi jawabannya TIDAK, kita tidak bisa membuat kelas abstrak atau metode final di Jawa.
  • Kelas akhir adalah kelas selesai dan tidak dapat diperpanjang lagi.
  • Kelas abstrak disebut kelas tidak lengkap dan hanya dapat diperluas oleh kelas konkret lainnya dan Anda harus mengimplementasikan semua metode abstrak.
  • Juga, tidak ada cara dan tidak mungkin untuk memiliki metode abstrak di kelas akhir.

Apakah mungkin untuk mewarisi dari beberapa kelas abstrak di Jawa?

  • Java tidak mendukung pewarisan berganda.
  • Di java kita hanya bisa Memperpanjang satu kelas.
  • Di Java kita dapat mengimplementasikan Antarmuka dari banyak sumber.