Seringkali, untuk menghindari penulisan kode inisialisasi duplikat, perlu memanggil kode satu konstruktor dari konstruktor lainnya.
Berikut adalah contoh bagaimana hal ini dapat dilakukan:
public class SomeClass {
int a;
int b;
int c;
public SomeClass(int a, int b){
this.a = a;
this.b = b;
}
public SomeClass(int a, int b, int c){
// Вызов конструктора с двумя параметрами.
this(a, b);
this.c = c;
}
public void show(){
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
Seperti yang Anda lihat, untuk ini kami menggunakan kata kunci this
, setelah itu kami menunjukkan dalam tanda kurung parameter untuk konstruktor yang sesuai (dengan dua parameter dalam hal ini). Anda dapat memanggil satu konstruktor dari konstruktor lain di kelas yang sama, atau di superkelas, dengan batasan berikut:
- Konstruktor yang akan dipanggil harus berada pada baris kode pertama pada konstruktor pemanggil.
- Konstruktor bersarang tidak boleh memiliki referensi eksplisit atau implisit apa pun ke "ini". Jadi tidak bisa masuk ke kelas dalam.
GO TO FULL VERSION