Object (Java 2 Platform SE 5.0)<!---->
<script type="text/javascript">
function windowTitle()
{
parent.document.title="Object (Java 2 Platform SE 5.0)";
}
</script>
<noscript></noscript>
<script src="/jdk150/H2HHinclude.js"></script>
clone
protected Object
clone
()
throws CloneNotSupportedException
Creates and returns a copy of this object. The precise meaning of "copy" may
depend on the class of the object. The general intent is that, for any object
x
, the expression:
x.clone() != x
will be true, and that the expression:
x.clone().getClass() == x.getClass()
will be
true
, but these are not absolute requirements. While it is typically
the case that:
x.clone().equals(x)
will be true
,
this is not
an absolute requirement.
By convention, the returned object should be obtained by calling
super.clone
. If a class and all of its superclasses (except
Object
) obey this convention, it will be the case that
x.clone().getClass() == x.getClass()
.
By convention, the object returned by this method should be independent of
this object (which is being cloned). To achieve this independence, it may be
necessary to modify one or more fields of the object returned by
super.clone
before returning it. Typically, this means copying any
mutable objects that comprise the internal "deep structure" of the object being
cloned and replacing the references to these objects with references to the
copies. If a class contains only primitive fields or references to immutable
objects, then it is usually the case that no fields in the object returned by
super.clone
need to be modified.
The method clone
for class Object
performs a specific
cloning operation. First, if the class of this object does not implement the
interface Cloneable
, then a CloneNotSupportedException
is
thrown. Note that all arrays are considered to implement the interface
Cloneable
. Otherwise, this method creates a new instance of the class
of this object and initializes all its fields with exactly the contents of the
corresponding fields of this object, as if by assignment; the contents of the
fields are not themselves cloned. Thus, this method performs a "shallow copy" of
this object, not a "deep copy" operation.
The class Object
does not itself implement the interface
Cloneable
, so calling the clone
method on an object whose
class is Object
will result in throwing an exception at run time.
分享到:
相关推荐
详细的描述了Java中 clone方法使用
在描述中提到的博客链接(由于无法直接访问,以下内容基于通常的`clone()`使用方式解释)可能会详细阐述如何在自定义类中重写`clone()`方法以实现更灵活的复制行为。通常,为了能够正确地克隆一个对象,你需要确保类...
在描述中提到的"git clone 最新版",通常意味着要获取Git的最新稳定版本。这可以通过访问Git的官方网站或者使用包管理器来实现。对于Windows用户,可以下载类似`Git-2.29.2.2-64-bit.exe`这样的安装程序,这是一个...
标题“CLONE 10-ex”以及描述“Clone10-EX-LV2”暗示了我们正在处理一个可能与克隆或复制技术相关的项目,可能是软件、系统镜像或者某种形式的数据备份工具。"Clone"通常指的是在计算机科学中创建一个与原始对象完全...
问题描述 使用 JLINK 仿真器时,可能会出现固件丢失或升级固件后提示 Clone 的问题,这将导致无法正常使用 JLINK 仿真器进行单片机开发。这种情况可能是由于固件版本不兼容或固件损坏所致。 解决方案 解决该问题...
在IT行业中,“克隆”一词常常用于描述创建与原有对象完全相同或几乎完全相同副本的过程。这个概念在多个领域都有应用,如计算机科学、软件工程、数据备份以及分布式系统等。在这里,我们将深入探讨“克隆”的核心...
jQuery中的clone()方法是一个非常实用的工具,它能够帮助开发者复制DOM元素及其绑定的事件处理器,以便在页面上实现动态内容的增加或替换。本文档详细介绍了clone()方法的用法,包括它的定义、功能以及如何运用它来...
标题中的"clone type"指的是在编程中的一种复制对象的方式,特别是与Java语言中的`clone()`方法相关。在Java中,`clone()`方法允许创建一个现有对象的副本,这个副本具有与原对象相同的状态,但不是完全意义上的新...
尽管如此,描述中提到"不能复制视频,音频复制软件"可能是对软件功能的误解。Clone DVD确实专注于DVD的视频和音频复制,但其主要目的是整盘复制,而不是单独提取视频或音频文件。对于想要单独提取媒体内容的用户,...
3. 提交更改:`git commit`将暂存区的更改保存到本地仓库,附带一条描述信息。 4. 查看状态:`git status`可以查看当前工作目录的状态,哪些文件被修改或未追踪。 5. 追踪远程仓库:`git remote add origin <url>`将...
描述 "gitim-用一个简单命令, clone 你的所有 github 仓库" 进一步强调了`gitim`的核心特性,即其易用性和效率。只需一条命令,用户就可以避免手动逐个克隆每个仓库的繁琐步骤,大大提高了工作效率。 标签 "Python...
描述中提到"资源全名:django-clone-1.1.9.tar.gz",这意味着这个压缩包的格式是tar.gz,这是一种常见的在Linux和Unix系统上打包和压缩文件的方式。`django-clone-1.1.9`这部分是该压缩包解压后的目录名,通常包含源...
描述中提到".NET Wiki Source Good Examples",这暗示了这个源代码包对于学习和理解.NET平台上的wiki应用程序开发是一个很好的实例。它特别提到了"MoinWiki Clone",说明ScrewTurn Wiki在设计和功能上可能与MoinWiki...
描述中的"convert the midi to chart on Clone Hero"指出,这个压缩包可能包含了一个程序或者教程,用于将MIDI文件转换成Clone Hero游戏所需的图表文件。在Clone Hero中,歌曲的演奏节奏被转化为图表,玩家需要根据...
标题和描述中提到的问题"j-link-is-defective"和"j-link clone"指的是用户可能遇到了假冒的J-Link调试器或者J-Link在使用过程中出现了故障。这里我们将详细讨论如何识别和解决这些问题。 首先,"j-link-is-...
描述 "Create a clone of the zhangbin-iecas-jingling repository hosted at Google Code." 证实了我们的理解,即这是一个克隆操作,目的是复制和保存原始代码库的副本。在软件开发中,克隆通常是为了备份源代码,...
在项目页面,HTML可能用于展示项目的描述、最近的提交记录、分支列表等信息。同时,HTML还可以与CSS(层叠样式表)和JavaScript结合使用,实现网页的美化和交互效果。 为了实现动态功能,如用户登录、项目创建和...
描述中提到的"deep cloning of objects and arrays"是关键知识点,这涉及到JavaScript中的两种主要数据类型:引用类型(如对象和数组)和基本类型(如字符串、数字和布尔值)。在JavaScript中,简单的赋值操作对于...
在描述中提到的问题,"git clone下载下来的全部源码和子模块,网不好的话自己下载很困难",指的是通过Git命令获取ESP-IDF完整源码库时可能遇到的网络难题。ESP-IDF不仅包含主项目源码,还包含了多个子模块,这些子...