位置:首页 > 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