java.lang.Object.clone() 建立並返回此物件的一個副本。 “複製”的確切含義可能依賴於物件的類。一般的意圖是,對於任何物件x,表示式:
x.clone() != x
會是true,那個表示式:
x.clone().getClass() == x.getClass()
將為true,但這些都不是絕對的要求。雖然通常的情況是:
x.clone().equals(x)
將為true,但這不是絕對的要求。
以下是java.lang.Object.clone()方法的宣告
protected Object clone()
NA
此方法返回這個範例的一個副本。
CloneNotSupportedException -- 如果物件的類不支援Cloneable介面。子類覆蓋clone方法也會丟擲此異常,指示一個範例不能被克隆。
下面的例子顯示了lang.Object.clone()方法的使用。
package com.yiibai; import java.util.GregorianCalendar; public class ObjectDemo { public static void main(String[] args) { // create a gregorian calendar, which is an object GregorianCalendar cal = new GregorianCalendar(); // clone object cal into object y GregorianCalendar y = (GregorianCalendar) cal.clone(); // print both cal and y System.out.println("" + cal.getTime()); System.out.println("" + y.getTime()); } }
讓我們來編譯和執行上面的程式,這將產生以下結果:
Mon Sep 17 04:51:41 EEST 2012 Mon Sep 17 04:51:41 EEST 2012