社区
Java SE
帖子详情
关于clone???
yourazhe
2003-08-22 01:48:53
Employee original=new Employee();
Employee copy=(Employee)original.clone()
为什么不能够执行呢?而非得重新定义?
难道Employee不是object的子类吗?
...全文
47
11
打赏
收藏
关于clone???
Employee original=new Employee(); Employee copy=(Employee)original.clone() 为什么不能够执行呢?而非得重新定义? 难道Employee不是object的子类吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
happyegg
2003-10-01
打赏
举报
回复
如五星红旗所说,要implements Cloneable
swinging
2003-10-01
打赏
举报
回复
think in java里有详细说明这个方面。建议查阅。
mashaw
2003-10-01
打赏
举报
回复
我对clone()进行了重新定义但还是不行(跟楼主一样的)还是说:clone() has protected access in java.lang.Object希望楼主解决之后记得告诉我:mashaw@163.com,谢谢先。
ticlej
2003-08-22
打赏
举报
回复
就像c++的"="符号一样,clone也是必须自己来实现的.系统目前还不具有这种功能.
freejacky
2003-08-22
打赏
举报
回复
对象应该实现cloneable接口
在对象内部做clone()应该做的事,返回该类的一个新的实现吧
TechnoFantasy
2003-08-22
打赏
举报
回复
呵呵,对java没研究。
yourazhe
2003-08-22
打赏
举报
回复
上面的问题可以这样问:为什么将OBJECT.CLONE()定义为PROTECED,就能够保证派生类必须定义自己的CLONE(),而不能够直接使用继承来的CLONE()。
yourazhe
2003-08-22
打赏
举报
回复
关于这个问题我思考了一下,大概可以这么理解,不对发地方请大家指正:
首先OBJECT.CLONE()是PROTECTED类型。为什么呢?
目的就是各个具体类要定义自己的CLONE(),而不只是简单的调用继承自OBJECT的CLONE()。因为OBJECT在设计自己的CLONE()时对于各个具体类究竟是什么样子根本不知道。所以为了强制每个类都定义自己的CLONE(),那么不管你继承自OBJECT的CLONE()是否满足需求,你还是必须定义自己的CLONE(),只不过在里面只要简单调用一下SUPER.CLONE()就OK了。
我现在不明白的地方在:
JAVA在实现这种机制时采用的方法
因为OBJECT.CLONE()是PROTECTED类型,所以只能够通过在派生类中使用。在其他地方既不能直接使用,也不能够通过一个基类的REFERENCE来调用。
但是在:
Employee original=new Employee();
Employee copy=(Employee)original.clone()
难道original不是OBJECT的一个基类对象吗????????????
现在做一个假设:如果把OBJECT.CLONE()定义为PUBLIC,那么在:
Employee original=new Employee();
Employee copy=(Employee)original.clone()就可以了吗???????
如果我在Employee 里面没有重新定义CLONE(),但是Employee 里面存在继承自BJECT的为PROTECTED的CLONE()。如果将如果把OBJECT.CLONE()定义为PUBLIC,会怎么样???
znjq1001
2003-08-22
打赏
举报
回复
wa!!! 5个星,耀眼
TechnoFantasy
2003-08-22
打赏
举报
回复
你的类应该实现cloneale接口
javahui
2003-08-22
打赏
举报
回复
在Employee里重新定义clone()方法吧,Object的 clone()方法是私有的。
你可以定义一个Employee.myClone():
public Object myClone()
{
return this.clone();
}
git-fast
clone
, 关于类固醇,git
clone
递归.zip
git-fast
clone
, 关于类固醇,git
clone
递归 fast
clone
git fast
clone
是类固醇的git
clone
--recursive 。为什么 fast
clone
?在特定机器上进行大量重复签出?知识库 1st Fast
clone
2nd Fastc
自己的Gitee是私有仓库,云服务器怎么
clone
?
自己的Gitee是私有仓库,云服务器怎么
clone
?
WHAT IS hidUSB? GITHUB WHAT IS GIT
CLONE
?
WHAT IS hidUSB? GITHUB WHAT IS GIT
CLONE
?
Clone
使用方法详解
java
clone
详解 收藏
Clone
使用方法详解
1. java“指针”... 1
2.类,对象与引用... 4
3.java中的
clone
. 5
3.1.什么是"
clone
"?... 5
3.2.怎样应用
clone
()方法?... 5
3.3什么是影子
clone
?... 6
3.4怎么进行深度
clone
?... 7
1. java“指针
如何理解
clone
对象?
1 为什么要用
clone
?在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B 任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现
clone
()方法是其中最简单,也是最高效...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章