网上有关“Java 中 如果clone为什么必须实现Cloneable接口”话题很是火热,小编也是针对Java 中 如果clone为什么必须实现Cloneable接口寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。
因为clone声明的方法是接口
所以实现接口的时候要全部实现接口所包含的全部方法这里的Cloneable接口就一个clone方法
所以是这样..补充点
public interface Cloneable此类实现了 Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。
如果在没有实现 Cloneable 接口的实例上调用 Object 的 clone 方法,则会导致抛出 CloneNotSupportedException 异常。
按照惯例,实现此接口的类应该使用公共方法重写 Object.clone(它是受保护的)。请参阅 Object.clone(),以获得有关重写此方法的详细信息。
注意,此接口不 包含 clone 方法。因此,因为某个对象实现了此接口就克隆它是不可能的。即使 clone 方法是反射性调用的,也无法保证它将获得成功。
答案补充 是啊,这个时候实现的时候是根据用户自己去写里面的代码啊
接口都是里面只有函数的声明,没有函数的实现
所以这里的clone方法是用户自己去写的
....... 答案补充 接口就是只有函数声明,没有函数实现;
为什么要用这种,是因为在编写程序的时候一个类只能继承一个类,但是可以实现N个接口
举个例子:
interface yuyu
{
public void tt() throw Exception;
//这里定义为接口,就一定不能实现,实现会报错;
//这个只有在后面使用的时候再实现它,使用接口的目的是为了代码的紧凑,
//看起来比较直观....
}
public class demo implements yuyu
{
public void tt() throw Exception
{
//这里就要写代码进行具体实现!!!
//这里可以实现N个接口,但是这里只是实现了yuyu,但是继承只能继承一个
//还有这种的好处是,当很多类都要类似的方法的时候,
//都可以实现这个yuyu接口,而很多的代码就可以不写了,大概就是这些原因吧...
}
} 答案补充 java中不是什么空接口,比如说序列化的接口Serializable
这些具体含义以及作用
(序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。
可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。)
都是由JDK作用标识好了的,如果你不实现这个接口你将自己去写自己的那一套处理对象流的机制的规范
所以在这里就为java程序员提供了很大的好处(简便),不知道我上面说的,你能不能明白..
只有实现这个接口才能完成你要的功能...
1. 接口(interface):接口的地位等同于class,接口中的所有方法都是抽象方法。在声明接口中的方法时,可以使用abstract关键字,也可以不使用。通常情况下,都会省略掉abstract关键字。
2. 可以将接口看作是特殊的抽象类(抽象类中可以有具体方法,也可以有抽象方法,而接口中只能有抽象方法,不能有具体方法)。
类可以实现接口。实现使用关键字implements表示,代表了某个类实现了某个接口。
一个类实现了某个接口,那么该类必须要实现接口中声明的所有方法。如果该类是个抽象类,那么就无需实现接口中的方法了。
关于“Java 中 如果clone为什么必须实现Cloneable接口”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!
本文来自作者[澹台树遥]投稿,不代表一叁号立场,如若转载,请注明出处:https://www.1314art.com/yisi/1177.html
评论列表(3条)
我是一叁号的签约作者“澹台树遥”
本文概览:网上有关“Java 中 如果clone为什么必须实现Cloneable接口”话题很是火热,小编也是针对Java 中 如果clone为什么必须实现Cloneable接口寻找了一些...
文章不错《Java 中 如果clone为什么必须实现Cloneable接口》内容很有帮助