java表复制_Java中克隆(浅表复制)

1.要实现某一类型对象(浅表)复制,则此类型必须满足以下条件:

(1):实现Cloneable这个空接口,

(2):重写Object下clone()方法。

2.示例:package com.pinus.exercise; import java.sql.Date;  /**  * 实现对象复制必须实现Cloneable这个空接口  */ public class Person implements Cloneable {     private int age;     private String name;     private String sex;     private Date birth;      /**      * 重写Object类中clone方法,实现对象浅表复制      */     public Person clone() {         try {             return (Person) super.clone();         } catch (CloneNotSupportedException e) {             e.printStackTrace();             throw new RuntimeException(e);         }     }      public int getAge() {         return age;     }      public void setAge(int age) {         this.age = age;     }      public String getName() {         return name;     }      public void setName(String name) {         this.name = name;     }      public String getSex() {         return sex;     }      public void setSex(String sex) {         this.sex = sex;     }      public Date getBirth() {         return birth;     }      public void setBirth(Date birth) {         this.birth = birth;     }      public String toString() {         return "Person [name=" + name + ", sex=" + sex + ", birth=" + birth                 + "]";     }  }

3.分析

super.clone():此方法有默认行为,即先复制父类中成员,再复制本类中成员

复制层次:利用super.clone()仅为浅层复制,可以让此类型实现序列化接口从而实现深层复制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值