Konstruktor Java adalah peran yang sangat penting. Pertama -tama, konstruktor di Java dapat kelebihan beban, dan karena itu juga dapat diwarisi dari konstruktor kelas induk, di subclass, hal pertama adalah memanggil konstruktor kelas induk. Anda dapat membandingkannya dengan dua contoh berikut:
tes kelas publik {public static void main (string args []) {b b = new b (100); }} class a {public a () {System.out.println ("A tanpa parameter apa pun"); } public a (int i) {System.out.println ("a dengan parameter"); }} class B memperluas A {public b () {System.out.println ("b tanpa parameter apa pun"); } public b (int i) {System.out.println ("b dengan parameter"); }}Output akhir dari contoh ini adalah
A tanpa parameter apapun
B dengan parameter
Anda dapat melihat bahwa hal pertama yang Anda sebut adalah konstruktor kelas induk, dan kemudian konstruktor sendiri dipanggil. Namun, karena konstruktor dengan parameter di kelas B di sini tidak memiliki kelas induk super, ia hanya akan menjalankan konstruktor tanpa parameter kelas induk. Jika Anda ingin menjalankan konstruktor kelas induk dengan parameter, maka Anda harus menulis kode seperti ini:
tes kelas publik {public static void main (string args []) {b b = new b (100); }} class a {public a () {System.out.println ("A tanpa parameter apa pun"); } public a (int i) {System.out.println ("a dengan parameter"); }} class B memperluas A {public b () {System.out.println ("b tanpa parameter apa pun"); } public b (int i) {super (i); // Ini adalah parameter konstruktor system.out.println ("b dengan parameter"); }}Jadi output akhir adalah:
A dengan parameter
B dengan parameter
Oleh karena itu, kelas yang diturunkan harus menggunakan Super untuk memanggil konstruktor yang mengandung parameter kelas induk. Ini pertanyaan lain:
tes kelas publik meluas x {y y = new y (); Test () {System.out.print ("z"); } public static void main (string args []) {new test (); }} class x {y b = new y (); X () {System.out.print ("x"); }} class y {y () {System.out.print ("y"); }}Apa hasil outputnya?
Pertama, mari kita analisis pertanyaan ini:
Karena pertama -tama lihat fungsi utama ini, hanya ada satu kode untuk fungsi utama ini: tes baru (); Karena saya menemukan bahwa kelas tes ini mewarisi dari X, pertama -tama saya perlu membuat x, jadi saya menjalankan X kelas y b = new y (), dan kemudian kita dapat melihat output y, dan kemudian menjalankan konstruktor X kelas X dan output x; Kemudian buat y, lalu jalankan konstruktor tes sendiri, output z, jadi hasil output adalah yxyz.
Penjelasan terperinci di atas tentang beberapa pengetahuan tentang konstruktor di Java adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.