【问题标题】:How does object class in java use cloneable interface without implementing it? [duplicate]java中的对象类如何使用可克隆接口而不实现它? [复制]
【发布时间】:2021-07-31 13:46:07
【问题描述】:

从object类中附上clone方法实现的sn-p,虽然object类没有实现cloneable接口,但是怎么允许使用呢? 另一个:为什么克隆方法不能留在可克隆接口而不是对象类中? 标记界面的实时应用是普通界面无法提供的意义和重要性。

[从对象类克隆方法] [1]:https://i.stack.imgur.com/QH4Yi.png

【问题讨论】:

标签: java clone cloneable


【解决方案1】:

虽然对象类没有实现可克隆接口,但它怎么允许使用呢?

在网上搜索演员表操作员的工作。它可克隆的。

为什么克隆方法不能停留在可克隆接口而不是对象类中?

因为接口不能声明实现(从 java 1.8 开始,它们可以通过 default 机制,但 Object.clone() 比它早了 20 多年左右)。

不要将 Cloneable 的工作方式视为良好 API 设计的示例。不是,但是在设计 Cloneable 的东西时,java 的开发人员并没有更好的了解。

【讨论】:

  • 错误。 java.lang.Object 没有实现 Cloneable。子类 may, 这就是案例 may 起作用的原因,这就是存在 instanceof 测试的原因。如果你写的是正确的,那就没有必要了。
  • @user207421 - 代码中有一个 cast,伙计。问题是:如何允许这段代码表现得好像它是可克隆的:因为它是一个 - 如果没有,代码就不会到达那里(相反,转换会失败)。
  • 没错。演员必须在那里,因为Object 没有实现Cloneable,这与你第一句话中所说的相反。
猜你喜欢
  • 1970-01-01
  • 2016-06-27
  • 2023-03-15
  • 2018-04-28
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 2012-05-06
  • 1970-01-01
相关资源
最近更新 更多