Constructor ใน Java คืออะไร?



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

Java เป็นภาษาที่หลากหลายเมื่อพูดถึงการเขียนโปรแกรม แม้ว่าจะค่อนข้างง่ายในการเรียนรู้ แต่เราต้องเข้าใจแนวคิดพื้นฐานก่อน หนึ่งในแนวคิดดังกล่าวคือตัวสร้างใน เป็นแนวคิดที่สำคัญมากเนื่องจากเกี่ยวข้องกับ . ตัวสร้างเป็นวิธีการพิเศษที่ใช้ในการกำหนดค่าให้กับวัตถุ ในบทความนี้เราจะเรียนรู้หัวข้อต่อไปนี้โดยละเอียด:

Constructor ใน Java คืออะไร?

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





ในช่วงเวลาของการเรียกตัวสร้างหน่วยความจำจะถูกจัดสรรให้กับวัตถุ แต่ละคลาสใน Java มีตัวสร้าง แม้ว่าคุณจะไม่ได้สร้างขึ้นมา แต่ Java จะเรียกตัวสร้างโดยปริยายด้วยค่าสมาชิกข้อมูลทั้งหมดที่ตั้งค่าเป็นศูนย์

โปรแกรม fibonacci series ใน java
class Edureka {// constructor new Edureka ()} // object ถูกสร้างขึ้นและเรียก constructor Edureka ob1 = Edureka ใหม่ ()

Constructor ถูกเรียกเมื่อใด



ตัวสร้างถูกเรียกเมื่อวัตถุหรืออินสแตนซ์ถูกสร้างขึ้น ใช้เพื่อกำหนดค่าให้กับสมาชิกข้อมูลในคลาสเดียวกัน

กฎสำหรับตัวสร้างใน Java

  1. ชื่อของตัวสร้างควรเป็นชื่อเดียวกับชื่อคลาส
  2. ไม่สามารถประกาศตัวสร้างเป็น สุดท้าย , คงที่, ซิงโครไนซ์หรือนามธรรม
  3. ไม่สามารถมีประเภทการส่งคืนที่ชัดเจน
  4. ตัวสร้างสามารถมีตัวแก้ไขการเข้าถึงเพื่อควบคุมการเข้าถึง

คุณควรปฏิบัติตามกฎเหล่านี้ในขณะที่สร้างตัวสร้าง

ประเภทของตัวสร้างใน Java

ตัวสร้างมีสองประเภท



  1. ตัวสร้างเริ่มต้น
  2. ตัวสร้าง Parametrized

ตัวสร้างเริ่มต้น

ตัวสร้างที่ไม่มีอาร์กิวเมนต์เรียกว่า a ตัวสร้างเริ่มต้น ถ้าเราไม่สร้างตัวสร้างของคลาส สร้างตัวสร้างเริ่มต้นที่มีสมาชิกข้อมูลซึ่งมีค่าเช่นศูนย์โมฆะเป็นต้น

ข้อมูลที่เป็นนามธรรมใน c ++

แต่ถ้าเราระบุตัวสร้างโดยไม่มีข้อโต้แย้งมันจะเป็น ตัวสร้างเริ่มต้น หรือก ไม่มีตัวสร้างอาร์กิวเมนต์ ซึ่งเป็นชื่ออื่นสำหรับตัวสร้างเริ่มต้น ต่อไปนี้เป็นตัวอย่างเพื่อแสดงวิธีใช้ตัวสร้างเริ่มต้นใน Java:

class Edureka {// การสร้างคอนสตรัคเตอร์ Edureka () {System.out.println ('hello learner')} public static void main (String args []) ผลลัพธ์ {Edureka ob1 = new Edureka ()}}: สวัสดีผู้เรียน

ตัวสร้าง Parametrized

ตัวสร้างที่มีอาร์กิวเมนต์เรียกว่าเป็น ตัวสร้าง parametrized ใช้เพื่อกำหนดค่าให้กับวัตถุที่แตกต่างกัน ต่อไปนี้เป็นตัวอย่างเพื่อแสดงวิธีที่เราประกาศตัวสร้างพารามิเตอร์ใน java:

class Edureka {string name, course // การสร้างตัวสร้าง parametrized Edureka (string s, string n) {name = s course = n} void show () {System.out.println (name + '' + course)} public static void main (String args []) {Edureka ob1 = new Edureka ('Java', 'J2EE') Edureka ob2 = new Edureka ('Java', 'Advance Java') ob1.show () ob1.show ()}} เอาท์พุท : Java J2EE Java Advance Java

ตัวสร้างโอเวอร์โหลด

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

ต่อไปนี้เป็นตัวอย่างของการโอเวอร์โหลดตัวสร้าง:

คลาส Edureka {ชื่อสตริงหลักสูตรเทคโนโลยี Edureka (สตริง s สตริง n) {name = s course = n} Edureka (string s, string n, string c) {name = s course = n technology = c} void show ( ) {System.out.println (name + '' + course + '' + technology)} public static void main (String args []) {Edureka ob1 = new Edureka ('edureka', 'Java') Edureka ob2 = new Edureka ('edureka', 'J2EE', 'Java') ob1.show () ob2.show ()}} เอาต์พุต: edureka Java edureka J2EE Java

ความแตกต่างระหว่างวิธีการและตัวสร้าง

วิธีผู้สร้าง
  • ชื่อเมธอดไม่จำเป็นต้องเหมือนกับชื่อคลาส
  • ชื่อคอนสตรัคเตอร์จะต้องเหมือนกับชื่อคลาส
  • เมธอดมีประเภทการส่งคืน
  • ตัวสร้างไม่มีชนิดส่งคืน
  • คุณสามารถเรียกเมธอดกี่ครั้งก็ได้
  • Constructor ถูกเรียกเมื่อสร้างวัตถุ

ในบล็อกนี้เราได้พูดถึงคอนสตรัคเตอร์ใน java วิธีที่เราใช้และคอนสตรัคเตอร์ประเภทต่างๆเช่นกัน Java เป็นภาษาที่น่าสนใจ แต่จะยุ่งยากหากปัจจัยพื้นฐานไม่ชัดเจน เพื่อเริ่มต้นการเรียนรู้ของคุณและฝึกฝนทักษะทั้งหมดที่เกี่ยวข้องกับเทคโนโลยีจาวาให้ลงทะเบียนในไฟล์ และปลดปล่อยนักพัฒนาจาวาในตัวคุณ

มีคำถามสำหรับเรา? โปรดระบุสิ่งนี้ในส่วนความคิดเห็นของบทความ 'Java Constructor คืออะไร' และเราจะติดต่อกลับโดยเร็วที่สุด