หลังจากระบุตัวสร้างพารามิเตอร์เมื่อสร้างคลาสแล้วระบบจะไม่สร้างตัวสร้างแบบไม่มีพารามิเตอร์โดยค่าเริ่มต้นและจำเป็นต้องสร้างด้วยตนเองด้วยตนเอง
เมื่อสร้างอินสแตนซ์วัตถุของคลาสย่อยตัวสร้างพารามิเตอร์ที่ไม่มีพารามิเตอร์ของคลาสแม่ (ตัวสร้างเริ่มต้น) จะถูกเรียกโดยค่าเริ่มต้น
หากคลาสแม่ไม่ได้กำหนดตัวสร้างพารามิเตอร์ที่ไม่มีพารามิเตอร์ข้อผิดพลาดจะถูกรายงานในระหว่างขั้นตอนการรวบรวม
หาก subclass ระบุตัวสร้างพารามิเตอร์ของคลาสหลักจะสามารถรวบรวมและเรียกใช้ได้
การประกาศ subclaration super (id, city) แสดงให้เห็นว่าตัวสร้างพารามิเตอร์คลาสแม่ถูกเรียก
แพ็คเกจ cn.lw.testpkg;/*** @author wanglei 18 เมษายน 2018*/คลาส predessor {private int id; เมืองสตริงส่วนตัว; predessor สาธารณะ (int id, String City) {this.id = id; this.city = เมือง; } @Override สตริงสาธารณะ toString () {return "predessor [id =" + id + ", city =" + city + "]"; }} คลาสผู้สืบทอดขยาย predessor {ชื่อสตริงส่วนตัว; เซ็กซ์สตริงส่วนตัว; ผู้สืบทอดสาธารณะ (ชื่อสตริง, String Sex, Int ID, String City) {Super (ID, City); this.name = ชื่อ; this.sex = เพศ; } @Override สตริงสาธารณะ toString () {return "ผู้สืบทอด [name =" + name + ", sex =" + sex + "]"; }} คลาสสาธารณะ callConstructortest {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ผู้สืบทอด s2 = ผู้สืบทอดคนใหม่ ("a", "ชาย", 1, "Hz"); System.out.println (S2); -เอาท์พุท
ผู้สืบทอด [ชื่อ = a, sex = male]
คลาสแม่ไม่ได้กำหนดตัวสร้างแบบไม่มีพารามิเตอร์และชั้นเด็กไม่ได้ประกาศ Super (ID, City)
ผู้สืบทอดสาธารณะ (ชื่อสตริง, String sex) {this.name = name; this.sex = sex;}ข้อผิดพลาดในการรวบรวม
โดยปริยาย Supertructor Predessor () ไม่ได้กำหนดไว้ ต้องเรียกใช้ตัวสร้างอื่นอย่างชัดเจน
คลาสแม่จะแสดงคำจำกัดความของตัวสร้างพารามิเตอร์ที่ไม่มีพารามิเตอร์การขนส่งของการโทรวิธี
แพ็คเกจ cn.lw.testpkg;/*** @author wanglei 18 เมษายน 2018*/คลาส predessor {private int id; เมืองสตริงส่วนตัว; สาธารณะ predessor () {system.out.println ("เรียกตัวสร้างโดยไม่มีพารามิเตอร์ของ predessor"); } predessor สาธารณะ (int id, String City) {this.id = id; this.city = เมือง; } @Override สตริงสาธารณะ toString () {return "predessor [id =" + id + ", city =" + city + "]"; }} คลาสผู้สืบทอดขยาย predessor {ชื่อสตริงส่วนตัว; เซ็กซ์สตริงส่วนตัว; ผู้สืบทอดสาธารณะ () {system.out.println ("ตัวสร้างที่ไม่มีพารามิเตอร์ของผู้สืบทอดเรียกว่า"); } ผู้สืบทอดสาธารณะ (ชื่อสตริง, String sex) {this.name = name; this.sex = เพศ; } @Override สตริงสาธารณะ toString () {return "ผู้สืบทอด [name =" + name + ", sex =" + sex + "]"; }} คลาสสาธารณะ callConstructortest {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ผู้สืบทอด s = ผู้สืบทอดใหม่ (); System.out.println (s); System.out.println ("-----------------------"); ผู้สืบทอด S2 = ผู้สืบทอดคนใหม่ ("A", "ชาย"); System.out.println (S2); -เอาท์พุท
เรียกว่าตัวสร้างโดยไม่มีพารามิเตอร์ เรียกว่าตัวสร้างโดยไม่มีพารามิเตอร์
ผู้สืบทอด [ชื่อ = null, sex = null]
-
เรียกว่า Predessor Constructor โดยไม่มีข้อโต้แย้ง
ผู้สืบทอด [ชื่อ = a, sex = male]
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น