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

Menguasai Kata Kunci super Java: Penggunaan Lanjutan dan Contoh Praktis

Menguasai Kata Kunci super Java: Penggunaan Lanjutan dan Contoh Praktis

Temukan bagaimana kata kunci super membuka kemampuan pewarisan yang canggih di Java, dengan contoh yang jelas dan panduan ahli.

Kata kunci super adalah sumbu model pewarisan Java, memungkinkan subclass untuk mereferensikan anggota—field, metode, dan konstruktor—dari superclass langsungnya. Memahami nuansanya esensial untuk menulis kode yang bersih dan mudah dipelihara.


Penggunaan Utama super

  1. Memanggil metode superclass yang di-override.
  2. Mengakses field superclass saat di-shadow oleh field subclass.
  3. Secara ekses memanggil konstruktor superclass dari konstruktor subclass.

Mari kita selami setiap skenario dengan contoh kode.


1. Memanggil Metode Superclass yang Di-override

Saat subclass meng-override suatu metode, versi superclass tetap dapat diakses melalui super.methodName(). Ini krusial untuk memperluas perilaku tanpa kehilangan fungsionalitas asli.

Contoh: Method Overriding dan super

class Animal { public void display() { System.out.println("Saya adalah seekor hewan"); } } class Dog extends Animal { @Override public void display() { System.out.println("Saya adalah seekor anjing"); } public void printMessage() { display(); // Memanggil Dog.display() super.display(); // Memanggil Animal.display() } } public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.printMessage(); } } 

Output:

Saya adalah seekor anjing Saya adalah seekor hewan 

Menggunakan super.display() memastikan implementasi superclass dieksekusi, yang berguna saat memperluas fungsionalitas daripada menggantinya.


2. Mengakses Field Superclass yang Di-shadow

Jika baik superclass maupun subclass mendeklarasikan field dengan nama yang sama, field subclass akan me-shadow field superclass. super.fieldName memungkinkan Anda mereferensikan field asli.

Contoh: Field Shadowing

class Animal { protected String type = "animal"; } class Dog extends Animal { public String type = "mammal"; public void printType() { System.out.println("Saya adalah " + type); // Dog.type System.out.println("Saya adalah " + super.type); // Animal.type } } public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.printType(); } } 

Output:

Saya adalah mammal Saya adalah animal 

3. Menggunakan super() untuk Memanggil Konstruktor Superclass

Konstruktor tidak diwarisi, tetapi subclass dapat memanggil konstruktor superclass menggunakan super(). Ini harus menjadi pernyataan pertama dalam konstruktor subclass dan diperlukan saat superclass tidak memiliki konstruktor tanpa argumen atau saat Anda perlu melewati argumen.

Contoh 1: Pemanggilan Konstruktor Default

class Animal { Animal() { System.out.println("Saya adalah seekor hewan"); } } class Dog extends Animal { Dog() { super(); System.out.println("Saya adalah seekor anjing"); } } public class Main { public static void main(String[] args) { new Dog(); } } 

Output:

Saya adalah seekor hewan Saya adalah seekor anjing 

Contoh 2: Pemanggilan Konstruktor Berparameter

class Animal { Animal(String type) { System.out.println("Tipe: " + type); } } class Dog extends Animal { Dog() { super("Animal"); System.out.println("Saya adalah seekor anjing"); } } public class Main { public static void main(String[] args) { new Dog(); } } 

Output:

Tipe: Animal Saya adalah seekor anjing 

Dalam kasus berparameter, kompiler tidak dapat memanggil konstruktor non-default secara otomatis, jadi super(arguments) wajib.


Menguasai kata kunci super memberdayakan Anda untuk menulis hierarki pewarisan yang kokoh, memastikan logika yang di-override tetap dapat diakses dan konstruktor diinisialisasi dengan benar. Teknik-teknik ini esensial untuk aplikasi Java yang scalable dan selaras dengan praktik terbaik yang direkomendasikan oleh para ahli industri.

java

  1. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  2. Komentar Java: Tipe, Penggunaan, dan Best Practices
  3. Menguasai Java Enhanced For Loop: Sintaks, Contoh, dan Best Practices
  4. Menguasai String Java: Pembuatan, Metode, dan Best Practices
  5. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  6. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  7. Menguasai Java Try-with-Resources: Manajemen Sumber Daya Otomatis Dijelaskan
  8. Anotasi Java Dijelaskan: Jenis, Penempatan, dan Contoh Praktis
  9. Pernyataan Java: Panduan Praktis untuk Mendeteksi Bug dan Memastikan Keandalan Kode
  10. Memahami Java Vector: Penggunaan, Fitur, dan Perbandingan dengan ArrayList