0Pricing
Java Academy · Pelajaran

Kelas Abstrak

Deklarasikan kelas dan metode abstrak, pahami mengapa keduanya tidak dapat dibuat instansnya, dan lihat cara subkelas melengkapi desain.

Kelas Abstrak adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 3 pelajaran total.

Apa itu kelas abstract?

Kelas abstract: mendefinisikan gagasan umum dan dapat membiarkan beberapa metode tanpa isi. Kelas ini juga dapat menyertakan metode biasa yang berisi kode. Bayangkan sebuah templat yang mengharuskan subkelas mengisi bagian yang kosong.

Kode: tidak dapat dibuat sebagai objek

Kelas abstract tidak dapat langsung dibuat sebagai objek. Kelas tersebut tetap dapat berisi metode biasa yang diwarisi semua subkelas.

public class Main {
  // Abstract class with one abstract method and one concrete method
  static abstract class Animal {
    abstract void speak();              // must be implemented by subclasses
    void info() {                       // concrete method allowed
      System.out.println("I am an animal.");
    }
  }

  public static void main(String[] args) {
    // Animal a = new Animal(); // Uncommenting would not compile: cannot instantiate abstract class
    System.out.println("You cannot create an Animal directly if it is abstract.");
  }
}

Mengapa menggunakan kelas abstract?

Kelas tersebut menempatkan kode bersama di satu tempat dan mewajibkan metode penting disediakan oleh setiap subkelas. Gunakan saat sebagian perilaku sama, tetapi sebagian lainnya berbeda di antara jenis konkret.

Kode: menerapkan metode abstract

Subkelas harus menerapkan metode abstract. Metode konkret dari kelas abstract diwarisi dan dapat digunakan kembali.

public class Main {
  static abstract class Animal {
    abstract void speak();
    void info() {
      System.out.println("I am an animal.");
    }
  }

  static class Dog extends Animal {
    // Must implement speak()
    void speak() {
      System.out.println("Woof!");
    }
  }

  public static void main(String[] args) {
    Dog d = new Dog();      // allowed: Dog is concrete
    d.info();               // inherited concrete method
    d.speak();              // Dog's implementation
  }
}

Aturan & perpaduan

Aturan: kelas abstract dapat memiliki atribut, konstruktor, dan metode konkret. Subkelas baru menjadi konkret setelah menerapkan semua metode abstract; jika tidak, subkelas tersebut juga abstract.

Kode: kelas abstract + polimorfisme

Kelas abstract bekerja baik dengan polimorfisme. Kode dapat menggunakan jenis abstract, dan setiap subkelas menyediakan perilaku yang tepat.

public class Main {
  static abstract class Animal {
    abstract void speak();
  }

  static class Dog extends Animal {
    void speak() { System.out.println("Woof!"); }
  }

  static class Cat extends Animal {
    void speak() { System.out.println("Meow!"); }
  }

  public static void main(String[] args) {
    // Polymorphism through abstract base type
    Animal[] pets = { new Dog(), new Cat() };
    for (int i = 0; i < pets.length; i = i + 1) {
      pets[i].speak(); // each subclass provides its own behavior
    }
  }
}

Pemeriksaan kelas abstract

Pemeriksaan singkat: Pernyataan mana tentang kelas abstract yang benar?

Ringkasan

Ringkasan: Gunakan kelas abstract untuk berbagi kode dan mewajibkan metode penting. Kelas tersebut tidak dapat langsung dibuat sebagai objek, tetapi subkelas melengkapi perilakunya.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Kelas Abstrak” gratis?

Ya — teks lengkap “Kelas Abstrak” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Kelas Abstrak”?

Deklarasikan kelas dan metode abstrak, pahami mengapa keduanya tidak dapat dibuat instansnya, dan lihat cara subkelas melengkapi desain. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Java Academy?

Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 3.

Berapa lama pelajaran “Kelas Abstrak” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Kelas Abstrak
  2. Antarmuka (Pengantar dan Perbandingan)
  3. Casting Naik/Turun dan instanceof
← Kembali ke Java Academy