CodeGym /Java Blog /Acak /Kata kunci super di Jawa
John Squirrels
Level 41
San Francisco

Kata kunci super di Jawa

Dipublikasikan di grup Acak
Kata kunci super digunakan dalam situasi yang berbeda. Sebelum memulai posting ini, kami mendorong Anda untuk belajar tentang warisan di Jawa untuk pemahaman yang lebih baik.

Apa kata kunci super di Jawa?

Super adalah kata kunci yang dapat digunakan untuk memanggil metode superclass yang diganti, serta untuk merujuk ke bidang tersembunyi dari superclass.

Mengapa dan kapan menggunakan kata kunci super?

Kata kunci super Java memiliki tiga penggunaan eksplisit.
  1. Mengakses anggota data kelas induk saat kelas anak juga memiliki anggota data dengan nama yang sama.
  2. Panggil konstruktor default atau parameter dari kelas induk di kelas anak.
  3. Panggil metode kelas induk di kelas anak jika anak memiliki metode yang diganti.
Mari kita pahami ketiga kasus di atas dengan bantuan contoh.

Contoh 1 - Mengakses anggota data orang tua

Contoh 1 mengilustrasikan bagaimana atribut atau anggota data kelas Kendaraan dapat diakses di kelas anak tipe Mobil . Pastikan Anda menjalankan cuplikan di bawah ini untuk memahami dengan baik.

class Vehicle {

	String name = "vehicle";
}

class Car extends Vehicle {

	String name = "car";

	public void printMyName() {

		System.out.println(name);
	}

	public void printParentName() {

		// use super keyword to access 
		// parent's data member / attribute
		System.out.println(super.name);
	}

	public static void main(String[] args) {

		Car myCar = new Car();
		System.out.print("My Car's Name: "); 
		myCar.printMyName();
		
		// printing the parent's name 
		// using the super keyword 
		System.out.print("My Parent Vehicle's Name: "); 
		myCar.printParentName();
	}
}
Keluaran
Nama Mobil Saya: mobil Orang Tua Saya Nama Kendaraan: kendaraan

Contoh 2 - Akses konstruktor induk di kelas anak

Memanggil super() secara eksplisit memungkinkan Anda mengakses konstruktor default atau parameter dari kelas induk di kelas anak. Berikut adalah contoh konstruktor berparameter. Konstruktor kelas parent yaitu Shape dipanggil (menggunakan super() ) di kelas child yaitu Triangle untuk mengatur atribut. Jalankan program di bawah ini untuk menguji hasilnya sendiri.

public class Shape {

	String name;

	public Shape(String n) {

		System.out.println("Shape() parameterized constructor called!");
		name = n;
	}
}

class Triangle extends Shape {
	
	int sides = 3;
	String color;

	public Triangle(String n, String c) {
		
		// The super keyword calls the parameterized 
		// constructor of the parent (Shape) with 
		// 'n' as a parameter 
		super(n);
		
		System.out.println("Triangle() parameterized constructor called!");
		this.color = c;
	}

	public static void main(String[] args) {

		Triangle myTriangle = new Triangle("Triangle Alpha", "Yellow");
		
		System.out.println(myTriangle.name);
		System.out.println(myTriangle.color);
	}
}
Keluaran
Shape() konstruktor berparameter disebut! Triangle() konstruktor berparameter disebut! Segitiga Alfa Kuning
Tantangan Cepat : Mendesain ulang program di atas dengan menggunakan konstruktor default untuk menguji pembelajaran Anda. Juga, lihat bagaimana super() berbeda dari super(arg) .

Contoh 3 - Akses metode pengganti induk di kelas anak

Contoh 3 menunjukkan bagaimana Anda dapat mengakses metode kelas induk yang juga ditentukan oleh kelas anak. Kelas induk Suara dalam program di bawah ini mendefinisikan metode voice() . Kelas anak Drum juga memiliki metode dengan nama yang sama yaitu voice() . Itu berarti suara metode ditimpa oleh subkelas. Jalankan program di bawah ini untuk mempelajari bagaimana kata kunci super diperlukan untuk menggunakan metode kelas induk di kelas anak.

public class Sound {

	public void voice() {
		System.out.println("Play sound!");
	}
}

class Drum extends Sound {

	public void voice() {
		System.out.println("Play drums!");
	}

	public void play() {

		// The super keyword calls the 
		// voice() method of the parent 
		super.voice();
		voice();
	}
	
	public static void main(String[] args) {

		Drum myDrum = new Drum();
		myDrum.play();
	}
}
Keluaran
Shape() konstruktor berparameter disebut! Triangle() konstruktor berparameter disebut! Segitiga Alfa Kuning

Kesimpulan

Di akhir postingan ini, kami harap Anda dapat memahami cara kerja kata kunci super di Java. Kami mendorong Anda untuk belajar coding dengan latihan. Karena latihan adalah kunci utama untuk mempelajari pembangunan logika. Posting ini akan tetap menyambut Anda setiap kali Anda mengalami kebuntuan. Sampai saat itu, selamat belajar!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION