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

2016-02-19 11:05 1 1 收藏

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

【 tulaoshi.com - 编程语言 】

自己实现了一遍:

代码如下:

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]);
}

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

结果:

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

a c

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;
 }
}

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

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;
 }
}

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

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;   
     }   
 }

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

来源:https://www.tulaoshi.com/n/20160219/1596518.html

延伸阅读
标签: Web开发
titleJS复制本页地址/title input type="button"   name="Submit" onClick='copyToClipBoard()' value="点击复制本页地址,分享给QQ/MSN上的好友" width="100" height="16" script language="javascript" function copyToClipBoard(){ var clipBoardContent=&quo...
代码如下: import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.event.ActionEvent; imp...
 1.打开各种系统工具            2.定时关机(重启、睡眠未实现 请参照上面两个文章自行扩展)            3.简单文件操作 代码如下: [java]  package com.cxy.f;  import java.awt.Image;  import java.aw...
代码如下: import java.io.*; import java.util.*; public class Test {     public static void main(String[] args) throws IOException {         BufferedReader br = new BufferedReader(new FileReader("output1.txt"));         ListString ...
代码如下: package com.gpdi.action; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; public class WordsStatistics {     class Obj {         int count ;     ...

经验教程

814

收藏

52
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部