Setelah menentukan konstruktor parameter saat membuat kelas, sistem tidak akan membuat konstruktor tanpa parameter secara default, dan perlu dibuat secara manual sendiri.
Saat membuat instance objek dari subkelas, konstruktor tanpa parameter dari kelas induk (konstruktor default) akan dipanggil secara default.
Jika kelas induk tidak mendefinisikan konstruktor tanpa parameter, kesalahan akan dilaporkan selama tahap kompilasi.
Jika subclass menentukan konstruktor parameter dari kelas induk, itu dapat dikompilasi dan dijalankan.
Subclass Declaration Super (ID, City) menunjukkan bahwa konstruktor parameter kelas induk disebut
Paket cn.lw.testpkg;/*** @author wangleei 18 April 2018*/class predessor {private int id; Private String City; Predessor Publik (Int ID, String City) {this.id = id; this.city = City; } @Override public string toString () {return "predessor [id =" + id + ", city =" + city + "]"; }} Penerus kelas memperluas predessor {private string name; seks string pribadi; penerus publik (nama string, string sex, int id, string city) {super (id, city); this.name = name; this.sex = seks; } @Override public string toString () {return "penerus [name =" + name + ", sex =" + sex + "]"; }} kelas publik callConstructortest {public static void main (string [] args) {penerus s2 = penerus baru ("a", "laki -laki", 1, "hz"); System.out.println (S2); }}Keluaran
Penerus [name = a, sex = pria]
Kelas induk tidak mendefinisikan konstruktor tanpa parameter, dan kelas anak tidak menyatakan super (id, kota)
penerus publik (nama string, string sex) {this.name = name; this.sex = sex;}Kesalahan kompilasi
Predessor super konstruktor implisit () tidak ditentukan. Harus secara eksplisit memohon konstruktor lain
Kelas induk menampilkan definisi konstruktor tanpa parameter, transitivitas panggilan metode
Paket cn.lw.testpkg;/*** @author wangleei 18 April 2018*/class predessor {private int id; Private String City; predessor publik () {System.out.println ("Hubungi konstruktor tanpa parameter predessor"); } predessor publik (int id, string city) {this.id = id; this.city = City; } @Override public string toString () {return "predessor [id =" + id + ", city =" + city + "]"; }} Penerus kelas memperluas predessor {private string name; seks string pribadi; Public Suscector () {System.out.println ("Konstruktor tanpa parameter penerus disebut"); } penerus publik (nama string, string sex) {this.name = name; this.sex = seks; } @Override public string toString () {return "penerus [name =" + name + ", sex =" + sex + "]"; }} kelas public callConstructortest {public static void main (string [] args) {Suscector s = new Suscector (); System.out.println (s); System.out.println ("-----------------------"); Penerus s2 = penerus baru ("a", "laki -laki"); System.out.println (S2); }}Keluaran
Disebut konstruktor tanpa parameter. Disebut konstruktor tanpa parameter.
Penerus [name = null, sex = null]
--------------
Disebut konstruktor Predessor tanpa argumen
Penerus [name = a, sex = pria]
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.