关于clone??? 在Employee里重新定义clone()方法吧,Object的 clone()方法是私有的。你可以定义一个Employee.myClone():public Object myClone(){ return this.clone();} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对象应该实现cloneable接口在对象内部做clone()应该做的事,返回该类的一个新的实现吧 就像c++的"="符号一样,clone也是必须自己来实现的.系统目前还不具有这种功能. 关于这个问题我思考了一下,大概可以这么理解,不对发地方请大家指正:首先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,会怎么样??? 上面的问题可以这样问:为什么将OBJECT.CLONE()定义为PROTECED,就能够保证派生类必须定义自己的CLONE(),而不能够直接使用继承来的CLONE()。 我对clone()进行了重新定义但还是不行(跟楼主一样的)还是说:clone() has protected access in java.lang.Object希望楼主解决之后记得告诉我:[email protected],谢谢先。 think in java里有详细说明这个方面。建议查阅。 如五星红旗所说,要implements Cloneable 想学习下JAVA RMI,请问有没有什么关于RMI的书籍 串口编程问题 请一定要帮我解决一下,谢谢 **********我才知道Unicode在java中可作操作符,请看实例**************** 知道int和String在byte[]中的位置和长度,如何从byte[]中分解出int和Stirng,多谢各位! 有什么方法能使循环体中途推出的 如何知道一个文件的具体行数? 如何将字符串转换成日期类型啊!急啊! 怎么可以学好java和相关的语言。 非常小白的问题,别骂我 新手请教:编写一个计算二次方程ax^2+bx+c=0的根 JAVA 的 应用程序 在 另外的电脑上如何运行的问题~!
在对象内部做clone()应该做的事,返回该类的一个新的实现吧
目的就是各个具体类要定义自己的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,会怎么样???