对象克隆技术
2016-07-11 19:17
381 查看
对象克隆技术:实现Cloneable接口,调用Object类中的clone()方法即可。
class Person implements Cloneable{ // 实现Cloneable接口表示可以被克隆
private String name ;
public Person(String name){
this.name = name ;
}
public void setName(String name){
this.name = name ;
}
public String getName(){
return this.name ;
}
public String toString(){
return "姓名:" + this.name ;
}
public Object clone()
throws CloneNotSupportedException
{
return super.clone() ;
// 具体的克隆操作由父类完成
}
}
public class Test{
public static void main(String args[]) throws Exception{
Person p1 = new Person("张三") ;
Person p2 = (Person)p1.clone() ;
p2.setName("李四") ;
System.out.println("原始对象:" + p1) ;
System.out.println("克隆之后的对象:" + p2) ;
}
}
运行结果:
原始对象:姓名:张三
克隆之后的对象:姓名:李四
class Person implements Cloneable{ // 实现Cloneable接口表示可以被克隆
private String name ;
public Person(String name){
this.name = name ;
}
public void setName(String name){
this.name = name ;
}
public String getName(){
return this.name ;
}
public String toString(){
return "姓名:" + this.name ;
}
public Object clone()
throws CloneNotSupportedException
{
return super.clone() ;
// 具体的克隆操作由父类完成
}
}
public class Test{
public static void main(String args[]) throws Exception{
Person p1 = new Person("张三") ;
Person p2 = (Person)p1.clone() ;
p2.setName("李四") ;
System.out.println("原始对象:" + p1) ;
System.out.println("克隆之后的对象:" + p2) ;
}
}
运行结果:
原始对象:姓名:张三
克隆之后的对象:姓名:李四
相关文章推荐
- 对象克隆技术
- 聪明人不做的十件事
- JavaScript制作时钟特效
- 内置函数和反射
- android中判断关于文本展示是否出现省略号的判断
- 【阅读】《黑客与画家》系列06-再设计
- 在tick中做时间心跳的操作
- 算法学习一
- ajax提交Form
- RecyclerView之ViewHolder封装实现点击、长按、headerView和多选功能
- Java-三元运算符-if语句
- CCNU ACM 2016夏季集训·day1比赛
- 查看Linus中自带的jdk ,设置JAVA_HOME
- dubbo中添加filter
- ~
- [20160711][在Windows下调用neven链接库]
- js简单算法——寻找文档中所有元素节点
- Codeforces Round #349 (Div. 1) A. Reberland Linguistics dp
- 曼彻斯特编码
- Open Flash Chart在php中的使用教程