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.tutorialspoint;

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