Java Clone(类的复制)实例代码

粉嘟嘟的呼啦圈

粉嘟嘟的呼啦圈

2016-02-19 11:05

下面,图老师小编带您去了解一下Java Clone(类的复制)实例代码,生活就是不断的发现新事物,get新技能~

自己实现了一遍:

代码如下:

public class A implements Cloneable {
public String str[];

A() {
str = new String[2];
}

public Object clone() {
A o = null;
try {
o = (A) super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
o.str = new String[2];
return o;
}
}

void run() throws Exception {
A a1 = new A(), a2 = new A();
a1.str[0] = "a"; a1.str[1] = "b";
a2 = (A) a1.clone();
a2.str[0] = "c"; a2.str[1] = "d";
System.out.println(a1.str[0] + " " + a2.str[0]);
}

结果:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

a c

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

1.

代码如下:

public class A implements Cloneable {
 public String name;

 public Object clone() {
  A o = null;
  try {
   o = (A) super.clone();
  } catch (CloneNotSupportedException e) {
   e.printStackTrace();
  }
  return o;
 }
}

2.

代码如下:

public class A implements Cloneable {
 public String name[];

 public A(){
  name=new String[2];
 }

 public Object clone() {
  A o = null;
  try {
   o = (A) super.clone();
  } catch (CloneNotSupportedException e) {
   e.printStackTrace();
  }
  return o;
 }
}

3.

代码如下:

public class A implements Cloneable {   
     public String name[];   
     public VectorB claB;   

     public A(){   
         name=new String[2];   
         claB=new VectorB();   
     }   

     public Object clone() {   
         A o = null;   
         try {   
             o = (A) super.clone();   
         } catch (CloneNotSupportedException e) {   
             e.printStackTrace();   
         }   
         o.name=new String[2];//深度clone   
         o.claB=new VectorB();//将clone进行到底   
         for(int i=0;iclaB.size();i++){   
             B temp=(B)claB.get(i).clone();//当然Class B也要实现相应clone方法
             o.claB.add(temp);   
         }   
         return o;   
     }   
 }

展开更多 50%)
分享

猜你喜欢

Java Clone(类的复制)实例代码

编程语言 网络编程
Java Clone(类的复制)实例代码

Java生成PDF文件的实例代码

编程语言 网络编程
Java生成PDF文件的实例代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

java循环练习的简单代码实例

编程语言 网络编程
java循环练习的简单代码实例

Java自动解压文件实例代码

编程语言 网络编程
Java自动解压文件实例代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

java 实现文件复制和格式更改的实例

编程语言 网络编程
java 实现文件复制和格式更改的实例

java 发送邮件的实例代码(可移植)

编程语言 网络编程
java 发送邮件的实例代码(可移植)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

另一个角度谈谈DIV CSS

另一个角度谈谈DIV CSS

Excel中如何单元格数据标注

Excel中如何单元格数据标注
下拉加载更多内容 ↓