黑马程序员技术交流社区

标题: 关于java继承的一个问题(求技术分) [打印本页]

作者: 李会成    时间: 2013-1-31 15:24
标题: 关于java继承的一个问题(求技术分)
本帖最后由 李会成 于 2013-2-1 11:08 编辑

初学java继承
今天遇到这么一个问题:
java的Object对象有个clone方法,这个方法的修饰符是protected,如果我设计一个Class去继承Object,要使用这个clone一定要实现一个Cloneable的接口,这是为什么,我原本以为继承的protected方法就能直接用了?
求解释下,非常感谢
作者: 张世钦    时间: 2013-1-31 17:30
建议楼主去看下API文档
Object类本身并没有实现Cloneable接口
如果子类不实现Cloneable接口,调用clone方法将会导致在运行时抛出异常


Object 类的 clone 方法执行特定的复制操作。首先,如果此对象的类不能实现接口 Cloneable,则会抛出 CloneNotSupportedException。注意,所有的数组都被视为实现接口 Cloneable。否则,此方法会创建此对象的类的一个新实例,并像通过分配那样,严格使用此对象相应字段的内容初始化该对象的所有字段;这些字段的内容没有被自我复制。所以,此方法执行的是该对象的“浅表复制”,而不“深层复制”操作。

Object 类本身不实现接口 Cloneable,所以在类为 Object 的对象上调用 clone 方法将会导致在运行时抛出异常。

作者: 黄振    时间: 2013-1-31 17:58
哦!这个情况!
作者: 李会成    时间: 2013-2-1 11:08
非常感谢我明白了
作者: 李培根    时间: 2013-2-18 11:40
请勿复制他人帖子,技术分不是入学的门槛而是为了帮助大家学习而存在的。

请勿再次发此类帖子了!

此贴就关闭了。此后如有再次发现直接封禁处理,请看到此贴的会员也加以注意。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2