JAVA克隆对象报错:The method clone() from the type Object is not visible
将一个对象复制一份,称为对象的克隆技术。
在Object类汇总存在一个clone()方法:
protected Onject clone() throws CloneNotSupportedException
如果某各类的对象想被克隆,则对象所在的类必须实现Cloneable接口。
此接口没有定义任何方法,是一个标记接口
接下来我们看看具体代码实现:
以下是正确的代码:
//要实现Cloneable这个接口,不用传参
public class Dog implements Cloneable{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} public Dog() {} public Dog(String name, int age) {
super();
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Dog [name=" + name + ", age=" + age + "]";
} //把这个方法重写一下就行,什么都不写
@Override
protected Object clone() throws CloneNotSupportedException { return super.clone();
}
————————————————
版权声明:本文为CSDN博主「陈jiaoshou」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43660039/article/details/84992348
结果展示:
我是原生dog:Dog [name=tom, age=3]
我是克隆dog:Dog [name=tom, age=3]
1
2
需要注意的是:clone重写的方法的修饰词是protected,受保护的意思,此时克隆的
主方法应该和重写clone的方法在一个包中,否则会报如下错误:
The method clone() from the type Object is not visible
————————————————
版权声明:本文为CSDN博主「陈jiaoshou」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43660039/article/details/84992348
JAVA克隆对象报错:The method clone() from the type Object is not visible的更多相关文章
- Eclipse 报错The method xxx of type must override a superclass method、Description Resource Path Location Type Java compiler level does not match the version of the installed Java project facet
问题: 如上图, 没改钱@Override会报错The method run() of type must override a superclass method 原因: java1.5中继承接口是 ...
- java克隆对象clone()的使用方法和作用
转自:997.html">http://www.okrs.cn/blog/news/?997.html 内容摘要 若需改动一个对象,同一时候不想改变调用者的对象.就要制作该对象的一个本 ...
- java导出excel报错:getOutputStream() has already been called for this response
对于java导出excel报错的问题,查了很多都说是在使用完输出流以后调用以下两行代码即可 out.clear(); out = pageContext.pushBody(); 但这也许是页面上输出时 ...
- java.lang.NullPointerException报错的几种情况
java.lang.NullPointerException报错的几种情况: 1.字符串变量未初始化: 2.接口类型的对象没有用具体的类初始化,比如: List stuList :这种情况就会报空指针 ...
- R.java 文件内报错:Underscores can only be used with source level 1.7 or greater。
R.java 文件内报错:Underscores can only be used with source level 1.7 or greater 网上查找后得知是Android工程图片资源命名的问 ...
- Java Web项目报错总结
Java Web项目报错总结 1.java.lang.IllegalStateException java.lang.IllegalStateException Caused by:java.lang ...
- Java类型转化报错
Java类型转化报错 报错如下: java.lang.ClassCastException:java.util.HashMap cannot be cast to java.util.List.
- 运行Java Web项目报错
运行Java Web项目报错 今天,我启动服务,发现项目报错,并且是在打开登录界面时报错. 具体错误如下: org.apache.catalina.core.Standard WrapperValue ...
- java中JDBC报错(一)
java中JDBC报错(一) 1.具体报错如下 com.mysql.jdbc.MySqlDataTruncation:Data truncation:Data too long for column ...
随机推荐
- 项目Alpha冲刺(团队) -- 测试
项目Alpha冲刺(团队) --测试 1.团队信息 团队名 :男上加男 成员信息 : 队员学号 队员姓名 个人博客地址 备注 221600427 Alicesft https://www.cnblog ...
- sql null+字符=null
哦,谢谢你,我还想问一个declare @temp varchar(10),@identity varchar(10),@sura varchar(10),@p int,@len int,@nod1 ...
- web自动化测试-selenium的三种等待
一.等待的作用 1.在系统的功能运行过程中,所有的内容是需要一定的时间来实现展示, 2.时间耗费长短与网络速度.系统框架设定.接口的执行复杂度有关, 3.因此需要设置缓冲时间,若未设置缓冲时间,容易导 ...
- python列表相关函数
1.python中可用于列表的函数 (1)cmp(list1, list2) 比较两个列表的元素 (2)len(list) 列表元素个数 (3)max(list) 返回列表元素最大值 (4)min(l ...
- iptables的使用
四表五链 四表(table):raw.mangle.nat.filter 五链(chain):PREROUTING.INPUT.FORWARD.OUTPUT.POSTROUTING 每个表存在几个或全 ...
- 【luoguP2999】 [USACO10NOV]巧克力牛奶Chocolate Milk
题目链接 考虑每条路径都经过的一个点,它可以到达每个出度为零点(终点),且每个入读为零点(起点)都能到达它, 拓扑排序记录下每个结点能到达的出度为零点的个数和沿反边能到达的入读为零点个数,判断是否等于 ...
- (13)Go接口
接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节. 接口 接口类型 在Go语言中接口(interface)是一种类型,一种抽象的类型. interfa ...
- mysql 存储过程 REPEAT ... UNTIL ... END REPEAT
begin declare b int; declare use_no varchar(10); declare use_name varchar(400); decla ...
- SpringCloud Feign 常用代码
服务提供者 服务提供者,是位于其他项目里面的. 服务提供者提供的方法,在Controller层里面,有可访问的Url. @Controller @RequestMapping("/order ...
- docker_基础用法
1. docker architecture 2. 命令