Object类如何实现clone()方法

2023-11-21

在一本关于 Core Java 的书中,我发现了这样的摘录:

想想以何种方式 对象类可以实现克隆。它 对物体一无所知, 所以它只能逐个字段 复制。如果对象中的所有数据字段 是数字或其他基本类型, 复制字段就可以了。但 如果该对象包含对 子对象,然后复制字段 给你另一个参考 子对象,所以原来的和 克隆对象仍然共享一些 信息。

读完这篇文章后我想知道How is the clone method originally implemented in Object Class?

令我困扰的是:一个方法如何能够Object当类对子类对象一无所知时,它会逐个字段克隆子类对象吗?


实际上,clone()是在本机代码中实现的,所以我假设它只是进行内存复制(复制所有字节)而不知道内容。

除此之外,还有反射 API 来获取有关类的知识(但是速度会更慢)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Object类如何实现clone()方法 的相关文章

  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 加速代码 - 3D 数组

    我正在尝试提高我编写的一些代码的速度 我想知道从 3d 整数数组访问数据的效率如何 我有一个数组 int cube new int 10 10 10 我用价值观填充其中 然后我访问这些值数千次 我想知道 由于理论上所有 3d 数组都存储在内
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • CodeIgniter:My_Lang 中的 get_instance

    我发现这个有用的国际化代码 http pastebin com SyKmPYTX http pastebin com SyKmPYTX 一切正常 除了我无法在此类中使用 CI 函数 我想从 DB 设置 languages 和 special
  • 如何将 pfx 文件转换为 jks,然后通过使用 wsdl 生成的类来使用它来签署传出的肥皂请求

    我正在寻找一个代码示例 该示例演示如何使用 PFX 证书通过 SSL 访问安全 Web 服务 我有证书及其密码 我首先使用下面提到的命令创建一个 KeyStore 实例 keytool importkeystore destkeystore
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will

随机推荐

  • 关于 Vue 3 + TypeScript 和 Augmenting-Types-for-Use-with-Plugins 的问题

    有谁知道如何使用 Vue3 和 TypeScript 实现类型增强的工作示例 我一直在尝试遵循 Vue2 文档 在 Vue3 中使用相同的内容 但没有成功 并且在过去 3 个小时的搜索中没有任何结果 看来Vue对象在vue class co
  • 检查矩阵行是否等于 R 中的矢量(矢量化)

    我很惊讶这个问题没有被问到 也许答案会澄清原因 我想将矩阵的行与向量进行比较 并返回该行是否 处处的向量 请参阅下面的示例 我想要一个矢量化解决方案 没有应用函数 因为矩阵太大而无法缓慢循环 假设也有很多行 所以我想避免重复向量 set s
  • 将 Microsoft SQL 复制到其他数据库

    我希望能够将整个数据库从 Microsoft SQL 复制到另一个 Web 友好的数据库 例如 CouchDB 甚至 mySQL 我需要每天进行复制 只是想知道是否可能 如果可以 我将如何用最少的编码来完成它 Thanks 这是可能的对称D
  • 在网页上查找广告

    我正在编写一个应用程序 试图确定页面上是否有广告 当前正在使用 python 通过 selenium webdriver 使用浏览器驱动 我认为 iframe 内存在大量广告 并且我制作了一个循环来查看每个框架的内部 browser web
  • AngularJS 中用于分页的限制和偏移数据结果

    AngularJS在调用支持Limit和Offset的外部数据资源时是否有Limit和Offset请求方法 我想有一个比这更优雅的解决方案 我通过路线参数传递限制和偏移量 function ListCtrl scope http route
  • ExecCommand 函数的定义是否为粗体?

    ExecCommand 提供了一种在 iFrame 中将文本加粗 斜体 下划线等的方法 但它缺少创建选项
  • Flask WTF“StringField”对象没有属性“translate”

    我对 Python 比较陌生 并且一直在关注Miguel Grinberg Flask 超级教程 我有一个非常简单的表单 当我尝试提交时 我收到以下错误 AttributeError StringField 对象没有属性 translate
  • Postgresql join_collapse_limit 和查询规划的时间

    我刚刚发现join collapse limit一直在阻止 PostgreSQL 规划器找到更好的连接顺序 就我而言 将限制增加到 10 默认为 8 允许规划器将搜索时间从约 30 秒缩短到约 1 毫秒 这是更容易接受的 该文档表明 设置此
  • 如何使用 Electron 运行和打包外部可执行文件?

    例如 我有一个编译好的二进制文件cudaDeviceQuery它以 JSON 形式返回设备列表 这是一段代码 export default function cudaDeviceQuery Promise
  • Laravel 对所有页面进行身份验证检查

    我已经创建了身份验证 并且它运行良好 但检查内页时存在一些问题 例如 Route get array before gt auth do gt function return View make home index 索引页面仅对登录用户可
  • 从手机号码中提取国家代码

    我有一个带有国家 地区代码的手机号码列表 例如 919638095998 号码 我已经提到了libphonenumber 谷歌示例另外 首先我们需要传递国家 地区 2 位数代码 我最初不知道 那么我怎么知道这个号码来自哪个国家呢 我还得到了
  • CouchDB读取授权

    在couchdb网站 gt 技术概述 gt 安全性和验证 http couchdb apache org docs overview html 它写道 在读者访问 部分 为了保护文档内容 CouchDB文档可以有一个读者列表 这是允许阅读文
  • Angular ui-router 完成条件视图

    我正在问一个与这个问题类似的问题 UI 路由器条件 ui 视图 但我的情况有点复杂 我似乎无法得到所提供的工作答案 基本上 我有一个 url 可以用两种截然不同的方式呈现 具体取决于 url 指向的实体类型 这是我目前正在尝试的 state
  • 鼠标中键按下并移动事件

    是什么控制事件鼠标中键按下并移动 也就是说 当我按住鼠标中键并移动鼠标时 我可以订阅什么事件 看一下 Control MouseDown 事件 鼠标按钮枚举 在 C 中检测鼠标按钮事件 你也可以尝试这样的事情 private void Fo
  • 使用 Redis 的 Mule 缓存策略

    我正在寻找一种在两台服务器之间共享缓存的方法 并且正在研究使用 Redis 作为对象存储缓存策略 但在读取存储值时遇到问题 当缓存命中为未命中值时 它会成功存储值 但在检索该值时会抛出错误 所需的对象 属性 muleContext 为 nu
  • 如何在 ext 4 中制作完整的模式窗口?

    就像微软操作系统 xp vista 7 等 中的窗口一样 如果主窗口创建模态窗口 则用户无法访问主窗口 包括关闭和访问工具栏等 我想用 extjs 做一个类似的 这是我的模态示例 Ext create Ext Window title aa
  • 类型存在于 2 个程序集中

    我从两个不同的第三方 COM DLL 创建了两个 NET Interop 程序集 这两个 COM DLL 都包含一个名为COMMONTYPE 所以 COMMONTYPE现在也通过两个互操作程序集公开 我有第三个项目需要使用这两个互操作程序集
  • jce 无法验证提供者 bc

    我开发了一个应用程序 在 BountyCastle jar 的帮助下使用了密码学 我还有一行 Security addProvider new org bouncycastle jce provider BouncyCastleProvid
  • 在两个无序字符向量之间执行非成对的全部比较 --- intersect 的相反 --- 全部到全部 setdiff

    示例数据 v1 lt c E82391 X2329323 C239923 E1211 N23932 F93249232 X93201 X9023111 O92311 9000F K9232932 L9232932 X02311111 v2
  • Object类如何实现clone()方法

    在一本关于 Core Java 的书中 我发现了这样的摘录 想想以何种方式 对象类可以实现克隆 它 对物体一无所知 所以它只能逐个字段 复制 如果对象中的所有数据字段 是数字或其他基本类型 复制字段就可以了 但 如果该对象包含对 子对象 然