//实现拷贝接口Cloneable
public class Mail implements Cloneable{
private String name;
private String emailAddress;
private String content;
public Mail(){
System.out.println("Mail Class Constructor!");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmailAddress() {
return emailAddress;
}
public void setEmailAddress(String emailAddress) {
this.emailAddress = emailAddress;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
@Override
public String toString() {
return "Mail{" +
"name='" + name + '\'' +
", emailAddress='" + emailAddress + '\'' +
", content='" + content + '\'' +
'}'+super.toString();
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
public class MailUtils {
public static void sendMail(Mail mail){
String outputContent = "向{0}同学,邮件地址:{1},邮件内容:{2}发送邮件成功";
System.out.println(MessageFormat.format(outputContent,mail.getName(),
mail.getEmailAddress(),mail.getContent()));
}
public static void saveOriginMailRecord(Mail mail){
System.out.println("存储originMail记录,originMail:"+mail.getContent());
}
}
public class Test {
public static void main(String[] args) throws CloneNotSupportedException {
Mail mail = new Mail();
mail.setName("whz");
mail.setContent("你好呀.");
mail.setEmailAddress("www.52yy.com");
for(int i = 0 ; i < 10; i++ ){
Mail mailTemp = (Mail) mail.clone();
mailTemp.setName("姓名" + i );
mailTemp.setEmailAddress("姓名" +i+"@imooc.com");
mailTemp.setContent("I rear .");
MailUtils.sendMail(mailTemp);
System.out.println("克隆的mailTemp:" +mailTemp );
}
MailUtils.sendMail(mail);
MailUtils.saveOriginMailRecord(mail);
}
}