位置:首頁 > Java技術 > java.lang > java.lang.Object.clone()方法實例

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