การโคลนอ็อบเจ็กต์เป็นวิธีสร้าง สำเนาที่แน่นอนของอ็อบเจ็กต์ เพื่อจุดประสงค์นี้ โคลน() เมธอดของคลาสอ็อบเจ็กต์ใช้เพื่อโคลนอ็อบเจ็กต์ โคลนได้ ส่วนต่อประสานจะต้องถูกใช้งานโดยคลาสที่มีอ็อบเจกต์โคลนเพื่อสร้าง ถ้าเราไม่ได้ใช้อินเทอร์เฟซ 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