社区
Java SE
帖子详情
为什么类不能调用clone方法
fxbird
2006-06-16 08:56:15
一个javabean,为什么不可以调用clone方法呢,编译说“clone方法不可见”,clone虽是Object的受保护方法,但任何对象都是Object的子对象,为什么不可以调用父对象的clone呢。这不是符合java的语法吗
...全文
356
8
打赏
收藏
为什么类不能调用clone方法
一个javabean,为什么不可以调用clone方法呢,编译说“clone方法不可见”,clone虽是Object的受保护方法,但任何对象都是Object的子对象,为什么不可以调用父对象的clone呢。这不是符合java的语法吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fxbird
2006-06-20
打赏
举报
回复
clone方法在object里是native的,不知什么含义
BeenZ
2006-06-17
打赏
举报
回复
楼上正解
Object中的clone()方法是protected的,调用时:
1.implements Cloneable
2.调用super.clone()
kamiiyu
2006-06-17
打赏
举报
回复
继承Cloneable这个接口还要改写clone这个方法才能用吧,例如
return super.clone();
zqsntws
2006-06-16
打赏
举报
回复
必须在子类中实现cloneable才能使用
navence
2006-06-16
打赏
举报
回复
楼上都说了
liujiwe79
2006-06-16
打赏
举报
回复
implements Cloneable
hillspring
2006-06-16
打赏
举报
回复
Object 类本身不实现接口 Cloneable,所以在类为 Object 的对象上调用 clone 方法将会导致在运行时抛出异常。
软若石
2006-06-16
打赏
举报
回复
public class ChatMessage
implements Cloneable
{
}
你的类需要implements Cloneable
Object的子
类
为什么
不能
调用
clone
()
Object是所有
类
的父
类
,而Object中实现了
clone
()
方法
。那么为什么子
类
中
不能
调用
呢。 这个原因就在于
clone
()是一个protect
方法
。因为protect
方法
只能在当前包或者子
类
中
调用
。而
不能
通过子
类
的实例
调用
。如果能通过子
类
的实例来
调用
的话,那和puplic还有什么区别呢。 ...
java
clone
引用_Java
类
中为什么
不能
直接
调用
Object的
clone
()
方法
在Java中所有的
类
都是Object的子
类
。在Object
类
中有一个
clone
方法
定义如下:protected native Object
clone
() throws
Clone
NotSupportedException;该
方法
的修饰符为protected,表示该
方法
可以在子
类
中
调用
然后结果是
调用
不了网上有回答是需要实现
Clone
able接口,但即使实现了,也
调用
不到。不实现
Clone
able接...
Java中的
clone
方法
分配完内存之后,再
调用
构造函数,填充对象的各个域,这一步叫做对象的初始化,构造
方法
返回后,一个对象创建完毕,可以把他的引用(地址)发布到外部,在外部就可以使用这个引用操纵这个对象(当然,由于指令的重排序,发布对象可能在构造函数返回之前,详细看。都是分配内存,
调用
clone
方法
时,分配的内存和源对象(即
调用
clone
方法
的对象)相同,然后再使用源对象中对应的各个域,填充新对象的域, 填充完成之后,
clone
方法
返回,一个新的相同的对象被创建,同样可以把这个新对象的引用发布到外部。
java的
clone
方法
_Java的
clone
()
方法
1.
clone
方法
简介
clone
方法
返回与当前对象的一个副本对象。可以通过操作副本对象而不影响当前对象。使用
clone
方法
需要实现
Clone
able接口。并重写Object
方法
中的
clone
方法
。需要注意的是在
clone
在Object中是project修饰符。因为所有
类
都是Object的子
类
,所以如果不实现
clone
方法
,在
类
中可以直接使用父
类
的
clone
方法
,但是其对象在别的
类
中
不能
调用
clo...
Object
类
的
clone
方法
Object
类
的
clone
方法
Object是所有
类
的基
类
,当你没有显示extends一个父
类
时,编译期会自动为你加上一个Object
类
。 这是一个native
方法
,说明这个
方法
的实现不是在java中,而是由C/C++实现,并编译成.dll文件,由java
调用
。registerNatives主要是将C/C++的
方法
映射到java中的native
方法
,实现
方法
命名的解耦。了解即可,知道是注册,细...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章