CodeGym /Blog Java /rawak /Kata kunci super dalam Java
John Squirrels
Tahap
San Francisco

Kata kunci super dalam Java

Diterbitkan dalam kumpulan
Kata kunci super digunakan dalam situasi yang berbeza. Sebelum memulakan siaran ini, kami menggalakkan anda mempelajari tentang warisan di Jawa untuk pemahaman yang lebih baik.

Apakah kata kunci super dalam Java?

Super ialah kata kunci yang boleh digunakan untuk menggunakan kaedah ganti kelas super, serta merujuk kepada medan tersembunyi kelas super.

Mengapa dan bila untuk menggunakan kata kunci super?

Kata kunci super Java mempunyai tiga kegunaan eksplisit.
  1. Akses ahli data kelas induk apabila kelas anak juga mempunyai ahli data dengan nama yang sama.
  2. Panggil pembina lalai atau parameter bagi kelas induk dalam kelas anak.
  3. Panggil kaedah kelas induk dalam kelas kanak-kanak jika kanak-kanak mempunyai kaedah ganti.
Marilah kita memahami semua tiga kes di atas menggunakan bantuan contoh.

Contoh 1 - Akses ahli data ibu bapa

Contoh 1 menggambarkan bagaimana atribut atau ahli data kelas Kenderaan boleh diakses dalam kelas kanak-kanak jenis Kereta . Pastikan anda menjalankan coretan di bawah 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();
	}
}
Pengeluaran
Nama Kereta Saya: kereta Nama Kenderaan Ibu Bapa Saya: kenderaan

Contoh 2 - Akses pembina ibu bapa dalam kelas anak

Memanggil super() secara eksplisit membolehkan anda mengakses kedua-dua pembina lalai atau parameter bagi kelas induk dalam kelas anak. Berikut ialah contoh pembina parameter. Induk iaitu Pembina kelas Shape dipanggil (menggunakan super() ) dalam anak iaitu kelas Triangle untuk menetapkan atribut. Jalankan program di bawah untuk menguji output untuk diri 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);
	}
}
Pengeluaran
Pembangun berparameter Shape() dipanggil! Triangle() pembina berparameter dipanggil! Segitiga Alpha Yellow
Cabaran Pantas : Reka bentuk semula program di atas dengan menggunakan pembina lalai untuk menguji pembelajaran anda. Juga, lihat bagaimana super() berbeza daripada super(arg) .

Contoh 3 - Akses kaedah ganti ibu bapa dalam kelas anak

Contoh 3 menunjukkan cara anda boleh mengakses kaedah kelas induk yang juga ditentukan oleh kelas anak. Bunyi kelas induk dalam atur cara di bawah mentakrifkan kaedah voice() . Drum kelas kanak-kanak juga mempunyai kaedah dengan nama yang sama iaitu voice() . Ini bermakna suara kaedah ditindih oleh subkelas. Jalankan program di bawah untuk mengetahui cara kata kunci super diperlukan untuk menggunakan kaedah kelas induk dalam 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();
	}
}
Pengeluaran
Pembangun berparameter Shape() dipanggil! Triangle() pembina berparameter dipanggil! Segitiga Alpha Yellow

Kesimpulan

Menjelang akhir siaran ini, kami berharap anda akan dapat memahami cara kerja kata kunci super di Jawa. Kami menggalakkan anda mempelajari pengekodan melalui latihan. Memandangkan amalan adalah kunci utama untuk mempelajari pembinaan logik. Siaran ini akan mengalu-alukan anda pada bila-bila masa anda tersekat. Sehingga itu, selamat belajar!
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION