ตัวสร้างเป็นวิธีการพิเศษที่ใช้ในการเริ่มต้นวัตถุในขณะที่วิธีการใช้เพื่อดำเนินการคำสั่งบางอย่าง ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่างตัวสร้างและวิธีการ
ซีเนียร์ เลขที่ | Key | ตัวสร้าง | วิธีการ |
---|---|---|---|
1 | วัตถุประสงค์ | Constructor ใช้ในการสร้างและเริ่มต้น Object | Method ใช้ในการดำเนินการคำสั่งบางอย่าง |
2 | Invocation | ตัวสร้างถูกเรียกใช้โดยปริยายโดยระบบ | มีการเรียกใช้เมธอดระหว่างโค้ดโปรแกรม |
3 | Invocation | คอนสตรัคเตอร์ถูกเรียกใช้เมื่อมีการใช้คีย์เวิร์ดใหม่เพื่อสร้างออบเจกต์ | เมธอดจะถูกเรียกใช้เมื่อมีการเรียก |
4 | ประเภทการส่งคืน | คอนสตรัคเตอร์ไม่สามารถมีประเภทส่งคืนได้ | เมธอดสามารถมีประเภทส่งคืนได้ |
5 | Object | คอนสตรัคเตอร์เริ่มต้นวัตถุที่ไม่มีอยู่จริง | เมธอดสามารถเรียกใช้ได้เฉพาะกับอ็อบเจ็กต์ที่มีอยู่เท่านั้น |
6 | ชื่อ | คอนสตรัคเตอร์ต้องมีชื่อเหมือนกับชื่อคลาส | ชื่อเมธอดต้องไม่เหมือนกับชื่อคลาส |
7 | การสืบทอด | ตัวสร้างไม่สามารถสืบทอดโดยคลาสย่อย | เมธอดได้รับการสืบทอดโดยคลาสย่อย |
ตัวอย่าง Constructor vs Method
JavaTester.java
public class JavaTester { int num; JavaTester(){ num = 3; System.out.println("Constructor invoked. num: " + num); } public void init(){ num = 5; System.out.println("Method invoked. num: " + num); } public static void main(String args[]) { JavaTester tester = new JavaTester(); tester.init(); } }
ผลลัพธ์
Constructor invoked. num: 3 Method invoked. num: 5