Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

คุณหมายถึงอะไรโดยคอนสตรัคเตอร์เริ่มต้นใน Java?


คอนสตรัคเตอร์ คล้ายกับเมธอดและถูกเรียกใช้ในเวลาที่สร้างอ็อบเจ็กต์ของคลาส โดยทั่วไปจะใช้เพื่อเริ่มต้นตัวแปรอินสแตนซ์ของคลาส ตัวสร้างมีชื่อเดียวกับคลาสและไม่มีประเภทส่งคืน

คอนสตรัคเตอร์เริ่มต้นใน 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