การโคลนอ็อบเจ็กต์เป็นวิธีสร้าง สำเนาที่แน่นอนของอ็อบเจ็กต์ เพื่อจุดประสงค์นี้ โคลน() เมธอดของคลาสอ็อบเจ็กต์ใช้เพื่อโคลนอ็อบเจ็กต์ โคลนได้ ส่วนต่อประสานจะต้องถูกใช้งานโดยคลาสที่มีอ็อบเจกต์โคลนเพื่อสร้าง ถ้าเราไม่ได้ใช้อินเทอร์เฟซ Cloneable เมธอด clone() จะสร้าง CloneNotSupportedException .
เมธอด clone() บันทึกงานการประมวลผลพิเศษเพื่อสร้างสำเนาของอ็อบเจ็กต์ หากเราดำเนินการโดยใช้คีย์เวิร์ดใหม่ จะต้องใช้การประมวลผลจำนวนมากในการดำเนินการ เราจึงสามารถใช้การโคลนวัตถุได้
ไวยากรณ์
protected Object clone() throws CloneNotSupportedException
ตัวอย่าง
public class EmployeeTest implements Cloneable { int id; String name = ""; Employee(int id, String name) { this.id = id; this.name = name; } public Employee clone() throws CloneNotSupportedException { return (Employee)super.clone(); } public static void main(String[] args) { Employee emp = new Employee(115, "Raja"); System.out.println(emp.name); try { Employee emp1 = emp.clone(); System.out.println(emp1.name); } catch(CloneNotSupportedException cnse) { cnse.printStackTrace(); } } }
ผลลัพธ์
Raja Raja