java之clone
来源:互联网 发布:贪吃蛇java视频 编辑:程序博客网 时间:2024/06/03 11:17
1 java有一个clone的方法。可以理解为克隆。可以理解为复制。如有A,通过clone克隆出来B。B是完全相同的新对象。即A和B是两个独立的对象。如需要克隆。需要类本身具有clone方法。
如:TestMain2 test2=new TestMain2();
TestMain2 test2_1;
test2_1=test2.clone();//这就是克隆函数clone。
TestMain2:具有clone方法:通过super.clone()来实现。返回的object类型。强制转化即可
public TestMain2 clone(){
try {
return (TestMain2)super.clone();//通过super.clone()来克隆。强制转化为TestMain2即可
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
2 需要实现clone方法。那该类本身就需要实现Cloneable接口。
如:public class TestMain2 implements Cloneable//实现Cloneable接口
{
public TestMain2 clone(){
try {
return (TestMain2)super.clone();//通过super.clone()来克隆。
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
综述:类克隆,需要类中具有clone方法。而需要有clone方法,则需要实现Cloneable接口。
clone方法中通过super.clone()来实现克隆。
完整的例子:
public class TestMain1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestMain2 test2=new TestMain2();
test2.setAaa("ddd");
TestMain2 test2_1;
test2_1=test2.clone();
System.out.println(test2+"/"+test2.getAaa()+"-----");
System.out.println(test2_1+"/"+test2_1.getAaa()+"---");
}
}
public class TestMain2 implements Cloneable
{
private String aaa="";
public String getAaa() {
return aaa;
}
public void setAaa(String aaa) {
this.aaa = aaa;
}
public TestMain2 clone(){
try {
return (TestMain2)super.clone();
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
如:TestMain2 test2=new TestMain2();
TestMain2 test2_1;
test2_1=test2.clone();//这就是克隆函数clone。
TestMain2:具有clone方法:通过super.clone()来实现。返回的object类型。强制转化即可
public TestMain2 clone(){
try {
return (TestMain2)super.clone();//通过super.clone()来克隆。强制转化为TestMain2即可
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
2 需要实现clone方法。那该类本身就需要实现Cloneable接口。
如:public class TestMain2 implements Cloneable//实现Cloneable接口
{
public TestMain2 clone(){
try {
return (TestMain2)super.clone();//通过super.clone()来克隆。
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
综述:类克隆,需要类中具有clone方法。而需要有clone方法,则需要实现Cloneable接口。
clone方法中通过super.clone()来实现克隆。
完整的例子:
public class TestMain1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestMain2 test2=new TestMain2();
test2.setAaa("ddd");
TestMain2 test2_1;
test2_1=test2.clone();
System.out.println(test2+"/"+test2.getAaa()+"-----");
System.out.println(test2_1+"/"+test2_1.getAaa()+"---");
}
}
public class TestMain2 implements Cloneable
{
private String aaa="";
public String getAaa() {
return aaa;
}
public void setAaa(String aaa) {
this.aaa = aaa;
}
public TestMain2 clone(){
try {
return (TestMain2)super.clone();
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
阅读全文
0 0
- Java 之 clone 分析
- java学习之clone
- java object之clone
- java基础之clone
- Java之Clone()
- java之clone
- Java之clone的用法
- Java Clone方法之懒人实现
- Effective Java读书笔记之clone方法
- Java Object对象之clone方法
- java之clone方法的使用
- 第四章 JAVA基础之clone方法
- Java Object对象之clone方法
- Java Object对象之clone方法
- java clone
- java clone
- java clone
- java clone
- 热更新之Bugly框架的详细集成
- 我在IT职场超15年:从程序员做到副总,送你21个超实用的职场法则!
- Docker 安装mysql
- MySQL数据库性能优化-硬件和参数配置提升I/O(二)
- java之Arrays的asList方法
- java之clone
- HTML中,闭合优先的神奇标签
- @PathVariable参数接收不完整的解决办法
- flex布局,vivo手机,安卓5.1时,高度不随内容所撑开
- java之getResource方法
- git提交忽略不需要提交到远程仓库的文件
- My Shopping(2)
- DOM_2
- java之log4j