加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 标记接口

发布时间:2020-12-14 05:59:05 所属栏目:Java 来源:网络整理
导读:有人可以解释一下 java中标记接口的契约吗? 对于Ex:如果Clonable是没有字段/方法的标记接口,那么clone()定义在哪里? 每当使用clone()时,为什么要实现Clonable i / f? 我的问题是,如果clone()是java.lang.Object类的方法,为什么要实现Clonable i / f来覆
有人可以解释一下 java中标记接口的契约吗?

对于Ex:如果Clonable是没有字段/方法的标记接口,那么clone()定义在哪里?

每当使用clone()时,为什么要实现Clonable i / f?

我的问题是,如果clone()是java.lang.Object类的方法,为什么要实现Clonable i / f来覆盖clone().

有人可以详细说明这个java的惯例吗?

提前致谢

解决方法

clone()在java.lang.Object类中定义,所有类都扩展自,但它受到保护.这实际上是一个具体的方法实现,它通过对象的字段克隆来执行字段,但前提是您已实现Cloneable接口以指示允许这样做.

在实践中,许多人重写clone()方法,以便它们可以公开并允许从类外部克隆.

这整个模式很不寻常,而且通常不会复制,我想不出JVM中有许多其他配对标记接口和方法的例子.从Java 5开始,最好使用注释标记.例如@XmlRootElement用于将类型标记为Jax-B可序列化(后Java 5)与Serializable接口(前Java 5),用于表示类是二进制可序列化的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读