คอนสตรัคเตอร์ คล้ายกับเมธอดและถูกเรียกใช้ในเวลาที่สร้างอ็อบเจ็กต์ของคลาส โดยทั่วไปจะใช้เพื่อเริ่มต้นตัวแปรอินสแตนซ์ของคลาส ตัวสร้างมีชื่อเดียวกับคลาสและไม่มีประเภทส่งคืน
คอนสตรัคเตอร์เริ่มต้นใน Java เริ่มต้นสมาชิกข้อมูลของคลาสเป็นค่าเริ่มต้น เช่น 0 สำหรับ int, 0.0 สำหรับ double เป็นต้น คอนสตรัคเตอร์นี้ถูกนำไปใช้โดยดีฟอลต์โดยคอมไพเลอร์ Java หากไม่มีคอนสตรัคเตอร์ที่ชัดเจนที่นำไปใช้โดยผู้ใช้สำหรับคลาส .
หากคุณสังเกตตัวอย่างต่อไปนี้ เราไม่ได้จัดเตรียมตัวสร้างใดๆ ให้กับมัน
public class Sample { int num; public static void main(String args[]){ System.out.println(new Sample().num); } }
หากคุณคอมไพล์และรันโปรแกรมข้างต้น คอนสตรัคเตอร์เริ่มต้นจะเริ่มต้นตัวแปรจำนวนเต็มด้วย 0 และคุณจะได้ 0 เป็นผลลัพธ์
javap คำสั่งแสดงข้อมูลเกี่ยวกับฟิลด์ ตัวสร้าง และวิธีการของคลาส หากคุณ (หลังจากคอมไพล์แล้ว) เรียกใช้คลาสข้างต้นโดยใช้คำสั่ง javap คุณสามารถสังเกตคอนสตรัคเตอร์เริ่มต้นที่เพิ่มโดยคอมไพเลอร์ดังที่แสดงด้านล่าง -
D:\>javap Sample Compiled from "Sample.java" public class Sample { int num; public Sample(); public static void main(java.lang.String[]); }
ตัวอย่าง
public class Sample{ int num; Sample(){ num = 100; } Sample(int num){ this.num = num; } public static void main(String args[]){ System.out.println(new Sample().num); System.out.println(new Sample(1000).num); } }
ผลลัพธ์
100 1000