ใน Java เมธอดถูกใช้เพื่อเก็บบล็อกของโค้ดที่ดำเนินการเฉพาะ เมื่อคุณทำงานกับเมธอด คุณอาจพบแนวคิดที่เรียกว่า constructors
.
ตัวสร้างเป็นวิธีพิเศษที่ใช้ในการเริ่มต้นวัตถุใน Java ตัวสร้างจะถูกเรียกเมื่อวัตถุของคลาสถูกสร้างขึ้น และใช้เพื่อตั้งค่าเริ่มต้นสำหรับวัตถุ
บทช่วยสอนนี้จะกล่าวถึงตัวอย่าง พื้นฐานของ Java constructor และวิธีใช้ตัวสร้างในโค้ดของคุณ เมื่ออ่านบทช่วยสอนนี้จบแล้ว คุณจะเป็นผู้เชี่ยวชาญในการใช้ Java Constructor เพื่อเริ่มต้นวัตถุ
ตัวสร้าง Java
ตัวสร้างเริ่มต้นวัตถุที่สร้างขึ้นใหม่ก่อนที่จะใช้ในโปรแกรม ตัวอย่างเช่น คอนสตรัคเตอร์ชื่อ Supplier จะสร้างออบเจ็กต์ที่มีแอตทริบิวต์เริ่มต้นของซัพพลายเออร์
ตัวสร้างมีชื่อเดียวกับคลาสและจะไม่คืนค่าใดๆ นี่คือตัวอย่างคอนสตรัคเตอร์ใน Java:
class Supplier { Supplier() { // Code here } }
ในตัวอย่างนี้ เราได้ประกาศตัวสร้างชื่อ Supplier
ซึ่งมีชื่อเดียวกับคลาสของเรา นอกจากนี้ คอนสตรัคเตอร์ของเราไม่มีประเภทการส่งคืน—เช่น โมฆะ—ซึ่งเป็นสิ่งที่ทำให้แตกต่างจากเมธอดประเภทอื่น
มีกฎสองข้อที่คุณต้องรู้เมื่อคุณประกาศตัวสร้าง อันดับแรก ชื่อของคอนสตรัคเตอร์ต้องตรงกับชื่อของคลาสที่คอนสตรัคเตอร์ถูกประกาศอย่างแน่นอน ประการที่สอง ตัวสร้างไม่สามารถคืนค่าได้
วิธีการสร้าง Java Constructor
คอนสตรัคเตอร์ Java มีสองประเภท:คอนสตรัคเตอร์แบบไม่มีอาร์กและคอนสตรัคเตอร์แบบกำหนดพารามิเตอร์ มาดูรายละเอียดวิธีการสร้างคอนสตรัคเตอร์โดยใช้ทั้งสองประเภทนี้กัน
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
ตัวสร้างแบบไม่มีอาร์ก
สมมติว่าเรากำลังดำเนินการร้านขายของชำ และเราต้องการสร้างโปรแกรมที่เก็บรายละเอียดเกี่ยวกับซัพพลายเออร์หลักสำหรับชีสของเรา โปรแกรมนี้ควรมีตัวสร้างที่เก็บข้อมูลของซัพพลายเออร์ และควรพิมพ์ค่าเหล่านั้นไปยังคอนโซลด้วย
นี่คือรหัสที่เราจะใช้สร้างโปรแกรมนี้:
class MainCheeseSupplier { private String name; private String address; private int discountRate; private String payDate; private MainCheeseSupplier() { name = "J. Acker Dairy"; address = "1600 Johnson Ave. San Francisco 94127"; discountRate = 2; payDate = "Last day of the month."; } public static void main(String[] args) { MainCheeseSupplier jadairy = new MainCheeseSupplier(); System.out.println("Name: " + jadairy.name); System.out.println("Address: " + jadairy.address); System.out.println("Discount rate: " + jadairy.discountRate); System.out.println("Pay date: " + jadairy.payDate); } }
รหัสของเราส่งคืน:
Name: J. Acker Dairy Address: 1600 Johnson Ave. San Francisco 94127 Discount rate: 2 Pay date: Last day of the month.
ขั้นแรก เราได้กำหนดคลาสที่เรียกว่า MainCheeseSupplier
ซึ่งเก็บรหัสสำหรับโปรแกรมของเรา จากนั้นเราเริ่มต้นตัวแปรส่วนตัวสี่ตัว—name
, address
, discountRate
และ payDate
ซึ่งเราใช้เก็บข้อมูลเกี่ยวกับซัพพลายเออร์ชีสหลักของเรา
เมื่อเราประกาศตัวแปรเหล่านั้นแล้ว เราจะสร้างตัวสร้างชื่อ MainCheeseSupplier
ซึ่งเริ่มต้นพวกเขาด้วยค่าเริ่มต้น จากนั้นในโปรแกรมหลักของเรา เราเริ่มต้นอินสแตนซ์ของตัวสร้างของเราโดยใช้รหัสนี้:
MainCheeseSupplier jadairy = new MainCheeseSupplier();
รหัสนี้กำหนดตัวแปร jadairy
ตัวอย่างใหม่ของ MainCheeseSupplier
วัตถุ. จากนั้น เราพิมพ์แต่ละค่าที่เก็บไว้ใน jadairy ไปยังคอนโซลโดยอ้างอิง jadairy
ตัวแปรและแอตทริบิวต์ที่เราต้องการเข้าถึง
นี่คือตัวอย่างของ คอนสตรัคเตอร์ที่ไม่มีส่วนสำคัญ . เนื่องจากคอนสตรัคเตอร์ของเราไม่ยอมรับพารามิเตอร์ใดๆ เราจึงเรียกมันว่าไม่มีการหาเรื่อง
ตัวสร้างพารามิเตอร์
อย่างไรก็ตาม อาจมีบางกรณีที่คุณต้องการส่งผ่านอาร์กิวเมนต์ผ่านตัวสร้าง
กลับไปที่ร้านขายของชำ สมมติว่าเราต้องการกำหนดค่าของรายละเอียดซัพพลายเออร์ชีสหลักในโปรแกรมหลักของเรา และกำหนดให้กับตัวสร้างของเราเมื่อโปรแกรมหลักเริ่มดำเนินการ
เราอาจต้องการทำเช่นนี้เนื่องจากเรากำลังเริ่มต้นซัพพลายเออร์หลายรายด้วยค่าที่แตกต่างกัน หรือเนื่องจากเราไม่ต้องการกำหนดค่าเฉพาะให้กับคอนสตรัคเตอร์
ถ้าเราส่งผ่านอาร์กิวเมนต์ผ่านคอนสตรัคเตอร์ เราเรียกมันว่าคอนสตรัคเตอร์แบบกำหนดพารามิเตอร์
เราสามารถส่งรายการพารามิเตอร์ผ่านตัวสร้างดังนี้:
class MainCheeseSupplier { String name; String address; int discountRate; String payDate; public MainCheeseSupplier(String supplierName, String supplierAddress, int supplierDiscountRate, String supplierPayDate) { name = supplierName; address = supplierAddress; discountRate = supplierDiscountRate; payDate = supplierPayDate; } public static void main(String[] args) { MainCheeseSupplier jadairy = new MainCheeseSupplier("J. Acker Dairy", "1600 Johnson Ave. San Francisco 94127", 2, "Last day of the month."); System.out.println("Name: " + jadairy.name); System.out.println("Address: " + jadairy.address); System.out.println("Discount rate: " + jadairy.discountRate); System.out.pintln("Pay date: " + jadairy.payDate); } }
รหัสของเราส่งคืน:
Name: J. Acker Dairy Address: 1600 Johnson Ave. San Francisco 94127 Discount rate: 2 Pay date: Last day of the month.
อย่างที่คุณเห็น ผลลัพธ์ของโค้ดของเราในตัวอย่างนี้เหมือนกับในตัวอย่างแรกของเรา อย่างไรก็ตาม โค้ดของเรามีความแตกต่างกันอย่างมาก:แทนที่จะเริ่มต้นค่าของ Constructor ในตัว Constructor เอง เราส่งผ่านพวกมันเป็นพารามิเตอร์เมื่อเราประกาศอินสแตนซ์ของ Constructor
ในตัวอย่างข้างต้น MainCheeseSupplier
ตัวสร้างยอมรับสี่พารามิเตอร์:supplierName
, supplierAddress
, supplierDiscountRate
และ supplierPayDate
. เมื่อเราเริ่มต้นอินสแตนซ์ของ MainCheeseSupplier
คอนสตรัคเตอร์ เราส่งค่าผ่านพารามิเตอร์เหล่านี้ ซึ่งคอนสตรัคเตอร์ของเราอ่านแล้ว นี่คือรหัสที่เราใช้ในการเริ่มต้นอินสแตนซ์ของตัวสร้าง:
MainCheeseSupplier jadairy = new MainCheeseSupplier("J. Acker Dairy", "1600 Johnson Ave. San Francisco 94127", 2, "Last day of the month.");
จากนั้น เราพิมพ์เนื้อหาของค่าที่เราเก็บไว้ใน MainCheeseSupplier
ตัวสร้าง
บทสรุป
ตัวสร้าง Java เป็นวิธีการพิเศษที่ใช้ในการเริ่มต้นวัตถุ ตัวสร้างจะถูกเรียกเมื่อมีการสร้างอ็อบเจกต์ของคลาส และสามารถใช้เพื่อตั้งค่าเริ่มต้นสำหรับแอททริบิวต์ของอ็อบเจ็กต์
บทช่วยสอนนี้กล่าวถึงโดยอ้างอิงถึงตัวอย่าง วิธีสร้างและทำงานกับคอนสตรัคเตอร์ใน Java ตอนนี้คุณพร้อมที่จะเริ่มใช้ตัวสร้าง Java อย่างผู้เชี่ยวชาญแล้ว!