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

วิธีใช้ Java Constructors

ใน 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 อย่างผู้เชี่ยวชาญแล้ว!