社区
Java SE
帖子详情
关于Cloneable接口的问题
qiullll
2010-04-05 01:49:09
CLONE的默认实现是浅拷贝 clone(){return (object)super.clone();}。可不可以将(object)super.clone()换成object.clone()啊?为什么还要进行强制转换呢
...全文
86
4
打赏
收藏
关于Cloneable接口的问题
CLONE的默认实现是浅拷贝 clone(){return (object)super.clone();}。可不可以将(object)super.clone()换成object.clone()啊?为什么还要进行强制转换呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hytdsky
2010-04-06
打赏
举报
回复
因为super.clone()返回类型是大概是void 如果要返回Object 当然要进行强制转换
koch_129
2010-04-06
打赏
举报
回复
阿弥陀佛
没明白,这个接口是干什么的.
上天难欺
诸恶莫做,断恶修善.
阿弥陀佛
wts
2010-04-06
打赏
举报
回复
你如果要自己覆盖Object的clone方法,那一般来说肯定是要返回你自己需要类型的克隆对象
比如你有个User类,要实现clone方法,那你肯定是要返回一个克隆的User对象
所以你如果直接用
super.clone();
那就只是调用了Object类的clone方法,返回一个Object类型的对象,而不是你要的User对象,所以这个时候就需要强制转型为(User)super.clone();
如果你就是要返回Object类型,那当然可以将强制转型去掉。
ZRBRZB
2010-04-06
打赏
举报
回复
可以去掉(object)
相关推荐
自定义类 的 克隆
Clone
able
/* * 自定义类的克隆 implements “
Clone
able
” 面试
问题
:
Clone
able
为什么是一个空
接口
? 如果一个类实现了
Clone
able
接口
代表这个类可以被克隆 1.Animal类要实现
Clone
able
的
接口
2.在A...
Java
Clone
able
接口
与Serializ
able
接口
实现对象克隆和深度克隆
Clone
able
接口
与Serializ
able
接口
都是定义
接口
而没有任何的方法。
Clone
able
可以实现对象的克隆复制,Serializ
able
主要是对象序列化的
接口
定义。很多时候我们涉及到对象的复制,我们不可能都去使用setter去实现,这样编写代码的效率太低。JDK提供的
Clone
able
接口
正是为了解决对象复制的
问题
而存在。
Clone
able
结合Serializ
able
接口
可以实现JVM对象的深度复制。
Java对象的克隆和深浅
问题
Java实现克隆的方式 Java实现克隆的方式有如下两种, 推荐采用实现
Clone
able
接口
的方式 实现
Clone
able
接口
, 重写
clone
方法, 调用父类的
clone
方法 还有另一种方法, 不实现
Clone
able
接口
, 但是重写了
clone
方法, 调用了父类
clone
方法, 也可以实现克隆能力
Clone
able
接口
和Serializ
able
接口
一样, 是一个声明式
接口
, 无需重写其中...
【java】深拷贝实现的两种方式
最近在做项目时,遇到一个java深拷贝的
问题
,常见有两种方式: 实现
Clone
able
接口
,并且重写Object类中的
clone
()方法 实现Serializ
able
接口
序列化 详情请移步:Java对象-深拷贝(实现Serializ
able
,
Clone
able
两种方式) 1. 实现
Clone
able
接口
public class Demo implements
Clone
able
{ ...
深\浅克隆的关系你了解多少呢?
分析 JDK 浅克隆 API 带来的
问题
在 Java 提供的 API 中,不需要手动创建抽象原型
接口
,因为 Java 已经内置了
Clone
able
抽象原型
接口
,自定义的类型只需实现该
接口
并重写 Object.
clone
()方法即可完成本类的复制。通过查看 JDK 的源码可以发现,其实
Clone
able
是一个空
接口
。Java 之所以提供
Clone
able
接口
,只是为了在运行时通知 Java 虚拟机可以安全地在该类上使用
clone
()方法。而如果该类没有实现
Clone
able
接口
,则调用.
Java SE
62,568
社区成员
307,520
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告