มีห้าวิธีในการสร้างวัตถุใน Java
1. การใช้newคีย์เวิร์ด → constructor ถูกเรียก
Employee emp1 = new Employee();
2. ใช้newInstance()วิธีการของตัวClassสร้าง→รับเรียก
Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee")
.newInstance();
มันยังสามารถเขียนเป็น
Employee emp2 = Employee.class.newInstance();
3. การใช้newInstance()วิธีการของตัวConstructorสร้าง→รับเรียก
Constructor<Employee> constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();
4. ใช้clone()method →ไม่มีการเรียก constructor
Employee emp4 = (Employee) emp3.clone();
5. การใช้ deserialization →ไม่มีการเรียก constructor
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
Employee emp5 = (Employee) in.readObject();
newคีย์เวิร์ดสามเมธอดแรกและทั้งสองnewInstance()รวมการเรียก constructor แต่หลังจากนั้นสอง clone และ deserialization
วิธีการทั้งหมดข้างต้นมีวิธีการเข้ารหัสแบบต่าง ๆ ที่เกี่ยวข้องอ่านวิธีการที่แตกต่างกันในการสร้างวัตถุใน Java พร้อมตัวอย่างสำหรับตัวอย่าง
อย่างไรก็ตามเราสามารถยืนยันว่าการสร้างอาร์เรย์หรือวัตถุสตริงเป็นวิธีการสร้างวัตถุ แต่สิ่งเหล่านี้มีความเฉพาะเจาะจงกับบางคลาสเท่านั้นและจัดการโดยตรงโดย JVM ในขณะที่เราสามารถสร้างวัตถุของคลาสใด ๆ โดยใช้ 5 วิธีเหล่านี้