Java中的对象克隆
2016-03-02 21:20
453 查看
克隆就是复制,可以将一个对象的内容完整的复制下来。
Object类提供以下的方法,完成对象的克隆:protected Object clone() throws CloneNotSupportedException
对于克隆操作并不是每一个对象都应该具备的,在java中只有部分对象才有可能进行克隆的操作,但是这部分对象必须有一个明确的说明。
如果希望被克隆的对象,那么其所在的必须实现Cloneable接口。此接口没有定义任何的方法,所以此接口只是一个接口标识。
示例代码如下:
package org.mole.normlaclass;
class MyPerson implements Cloneable {
private String name;
public MyPerson(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString() {
return "NomalPerson [name=" + name + "]";
}
public Object clone() throws CloneNotSupportedException{
return super.clone();
}
}
public class CloneDemo{
public static void main(String[] args) throws CloneNotSupportedException{
MyPerson per1 = new MyPerson("张三");
MyPerson per2 = (MyPerson)per1.clone();
per2.setName("李四");
System.out.println(per1);
System.out.println(per2);
}
}
执行结果如下:
本文参考了魔乐科技的视频教程
Object类提供以下的方法,完成对象的克隆:protected Object clone() throws CloneNotSupportedException
对于克隆操作并不是每一个对象都应该具备的,在java中只有部分对象才有可能进行克隆的操作,但是这部分对象必须有一个明确的说明。
如果希望被克隆的对象,那么其所在的必须实现Cloneable接口。此接口没有定义任何的方法,所以此接口只是一个接口标识。
示例代码如下:
package org.mole.normlaclass;
class MyPerson implements Cloneable {
private String name;
public MyPerson(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString() {
return "NomalPerson [name=" + name + "]";
}
public Object clone() throws CloneNotSupportedException{
return super.clone();
}
}
public class CloneDemo{
public static void main(String[] args) throws CloneNotSupportedException{
MyPerson per1 = new MyPerson("张三");
MyPerson per2 = (MyPerson)per1.clone();
per2.setName("李四");
System.out.println(per1);
System.out.println(per2);
}
}
执行结果如下:
本文参考了魔乐科技的视频教程
相关文章推荐
- 初学Java Socket,实现超简单的聊天程序
- Java中的守护线程和用户线程
- java 连接hbase
- Java 多线程(一)——多线程概述
- spring之IOC详解二
- Java线程的创建和运行
- 《JAVA常用算法手册》 算法经典题 4.猴子吃桃
- 欢迎使用CSDN-markdown编辑器
- spring之IOC详解一
- java日志丢失故障处理导致的死锁问题
- windows下关于使用eclipse开发web服务器后台项目完整配置(jsp+javabean+servlet)
- java web部分知识
- 复制jar包到eclipse报错
- 《转载》struts旅程《2》
- Struts2中Action接收参数的方法主要有以下三种:
- java输入函数
- 《转载》struts旅程《1》
- 如何搭建struts2框架
- springmvc的一个小例子学习(一)
- Spring中Quartz调度器的使用