Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Kelas dan Metode Abstrak Java: Panduan Lengkap

Kelas dan Metode Abstrak Java

Tutorial ini menyediakan eksplorasi yang jelas dan berdasarkan contoh tentang kelas dan metode abstrak Java, dan menjelaskan bagaimana abstraksi diimplementasikan di Java.

Kelas Abstrak Java

Di Java, kelas abstrak tidak dapat diinstantiasi. Kata kunci abstract menandai kelas sebagai abstrak. Misalnya,

// membuat kelas abstrak abstract class Language { // fields and methods } ... // coba buat objek Language // melempar kesalahan Language obj = new Language();

Sebuah kelas abstrak dapat berisi metode konkret (reguler) dan metode abstrak. Misalnya,

abstract class Language { // metode abstrak abstract void method1(); // metode reguler void method2() { System.out.println("Ini adalah metode reguler"); } }

Untuk selengkapnya tentang metode reguler, lihat Java methods.


Metode Abstrak Java

Sebuah metode abstrak tidak ada badan; ia mendeklarasikan kontrak yang harus dipenuhi oleh subclass. Ia didefinisikan dengan kata kunci abstract, misalnya,

abstract void display();

Karena tidak memiliki badan, pernyataan diakhiri dengan titik koma. Jika suatu kelas mendeklarasikan metode abstrak, kelas itu sendiri harus dideklarasikan abstrak, jika tidak kompiler akan melempar kesalahan:

// error // kelas harus abstrak class Language { // metode abstrak abstract void method1(); }

Contoh: Kelas dan Metode Abstrak Java

Meskipun kelas abstrak tidak dapat diinstantiasi secara langsung, subclass konkret dapat memperluasnya dan menggunakan anggotanya. Misalnya,

abstract class Language { public void display() { System.out.println("Ini adalah Java Programming"); } } class Main extends Language { public static void main(String[] args) { Main obj = new Main(); obj.display(); } }

Output

Ini adalah Java programming

Di sini, kelas abstrak Language mendefinisikan metode konkret display(). Subclass Main mewarisi metode tersebut dan memanggilnya melalui instance-nya.


Mengimplementasikan Metode Abstrak

Saat kelas abstrak mendeklarasikan metode abstrak, setiap subclass konkret harus menyediakan implementasi. Misalnya,

abstract class Animal { abstract void makeSound(); public void eat() { System.out.println("Saya bisa makan."); } } class Dog extends Animal { public void makeSound() { System.out.println("Guk guk"); } } class Main { public static void main(String[] args) { Dog d1 = new Dog(); d1.makeSound(); d1.eat(); } }

Output

Guk guk Saya bisa makan.

Subclass Dog mengimplementasikan metode abstrak makeSound(), sambil mewarisi metode konkret eat().

Catatan: Jika Dog tidak meng-override makeSound(), ia harus sendiri dideklarasikan abstrak.


Mengakses Konstruktor Kelas Abstrak

Kelas abstrak dapat mendefinisikan konstruktor seperti kelas biasa. Subclass memanggil konstruktor superclass menggunakan super(). Misalnya,

abstract class Animal { Animal() { // inisialisasi logika } } class Dog extends Animal { Dog() { super(); // inisialisasi tambahan } }

Ingat bahwa super() harus menjadi pernyataan pertama dalam konstruktor subclass.


Abstraksi Java

Kelas dan metode abstrak adalah alat utama untuk mencapai abstraksi di Java. Abstraksi menyembunyikan detail implementasi yang tidak perlu, menyajikan hanya antarmuka yang penting kepada pengguna. Ini menyederhanakan sistem kompleks dan mempromosikan fleksibilitas.

Misalnya, rem sepeda motor melakukan fungsi tingkat tinggi yang sama—mengurangi kecepatan sepeda motor—sedangkan mekanisme internalnya dapat berbeda di setiap model.

Contoh 3: Abstraksi Java

abstract class MotorBike { abstract void brake(); } class SportsBike extends MotorBike { public void brake() { System.out.println("SportsBike Brake"); } } class MountainBike extends MotorBike { public void brake() { System.out.println("MountainBike Brake"); } } class Main { public static void main(String[] args) { MountainBike m1 = new MountainBike(); m1.brake(); SportsBike s1 = new SportsBike(); s1.brake(); } }

Output:

MountainBike Brake SportsBike Brake

Setiap subclass konkret menyediakan implementasi brake() sendiri, menggambarkan bagaimana abstraksi memisahkan antarmuka dari implementasi.

Catatan: Antarmuka juga dapat digunakan untuk mencapai abstraksi di Java.


Poin Utama yang Harus Diingat

java

  1. Menguasai Kelas dan Metode Abstrak C#: Panduan Praktis
  2. Variabel dan Literal Java: Panduan Lengkap
  3. Kelas dan Objek Java: Panduan Praktis
  4. Memahami Kata Kunci final Java: Variabel, Metode, dan Kelas
  5. Operator instanceof Java: Panduan Lengkap
  6. Menguasai Kelas Bersarang dan Kelas Dalam Java: Jenis, Contoh, dan Praktik Terbaik
  7. Memahami Kelas Bersarang Statis Java: Penggunaan, Perbedaan, dan Contoh
  8. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  9. Pola Singleton Java Dijelaskan: Cara Menerapkan dan Menggunakannya dengan Aman
  10. Menguasai Java ObjectOutputStream: Serialisasi, Metode, dan Contoh Praktis