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