diff --git a/src/taoshop-portal/src/test/java/com/muses/taoshop/Attachment.java b/src/taoshop-portal/src/test/java/com/muses/taoshop/Attachment.java index 11e86ee31b56463f4ab2a9d6933c96ba5a398c4d..ca3434bcb4ce00d334eda318303902f03879c7c3 100644 --- a/src/taoshop-portal/src/test/java/com/muses/taoshop/Attachment.java +++ b/src/taoshop-portal/src/test/java/com/muses/taoshop/Attachment.java @@ -1,9 +1,10 @@ package com.muses.taoshop; +import java.io.*; -public class Attachment +public class Attachment implements Serializable { public void download() { - System.out.println("下载附件"); + System.out.println("下载附件"); } } \ No newline at end of file diff --git a/src/taoshop-portal/src/test/java/com/muses/taoshop/Client.java b/src/taoshop-portal/src/test/java/com/muses/taoshop/Client.java index 3948f221b5e6232e83fa997c3d984cc73f985639..e181f55cf8a377c20ca676b0345e189c859f8956 100644 --- a/src/taoshop-portal/src/test/java/com/muses/taoshop/Client.java +++ b/src/taoshop-portal/src/test/java/com/muses/taoshop/Client.java @@ -1,19 +1,25 @@ package com.muses.taoshop; - public class Client { public static void main(String a[]) { - Email email,copyEmail; - + Email email,copyEmail=null; + email=new Email(); - - copyEmail=(Email)email.clone(); - + + try{ + copyEmail=(Email)email.deepClone(); + } + catch(Exception e) + { + e.printStackTrace(); + } + + System.out.println("email==copyEmail?"); System.out.println(email==copyEmail); - - System.out.println("email.getAttachment==copyEmail.getAttachment?"); - System.out.println(email.getAttachment()==copyEmail.getAttachment()); + + System.out.println("email.getAttachment==copyEmail.getAttachment?"); + System.out.println(email.getAttachment()==copyEmail.getAttachment()); } } \ No newline at end of file diff --git a/src/taoshop-portal/src/test/java/com/muses/taoshop/Email.java b/src/taoshop-portal/src/test/java/com/muses/taoshop/Email.java index 158129ac23e866a61d7be600369b452f8f01fdfa..ebfbd8cfcfbfd28515ca76b3009c144c9184026a 100644 --- a/src/taoshop-portal/src/test/java/com/muses/taoshop/Email.java +++ b/src/taoshop-portal/src/test/java/com/muses/taoshop/Email.java @@ -1,36 +1,36 @@ package com.muses.taoshop; +import java.io.*; -public class Email implements Cloneable +public class Email implements Serializable { private Attachment attachment=null; - + public Email() { this.attachment=new Attachment(); } - - public Object clone() + + public Object deepClone() throws IOException, ClassNotFoundException, OptionalDataException { - Email clone=null; - try - { - clone=(Email)super.clone(); - } - catch(CloneNotSupportedException e) - { - System.out.println("Clone failure!"); - } - return clone; + //将对象写入流中 + ByteArrayOutputStream bao=new ByteArrayOutputStream(); + ObjectOutputStream oos=new ObjectOutputStream(bao); + oos.writeObject(this); + + //将对象从流中取出 + ByteArrayInputStream bis=new ByteArrayInputStream(bao.toByteArray()); + ObjectInputStream ois=new ObjectInputStream(bis); + return(ois.readObject()); } - + public Attachment getAttachment() { return this.attachment; } - + public void display() { - System.out.println("查看邮件"); + System.out.println("查看邮件"); } - + } \ No newline at end of file