java.lang.Object.clone()方法實例
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