子类:
public class User implements Serializable {
private String name;
private Integer age;
private String address;
private BigDecimal balance;
private Date createTime;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public BigDecimal getBalance() {
return balance;
}
public void setBalance(BigDecimal balance) {
this.balance = balance;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", address='" + address + '\'' +
", balance=" + balance +
", createTime=" + createTime +
'}';
}
}
父类:
public class UserVO extends User implements Serializable {
/**
* 电话号码
*/
private String phone;
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
深克隆案例:
public class CopyUtils {
public static void main(String[] args) throws IOException, ClassNotFoundException {
UserVO userVO = new UserVO();
userVO.setPhone("110");
userVO.setAddress("中国");
userVO.setAge(5000);
userVO.setName("上海");
User user = (User) clone2(userVO);
System.out.println(user.toString());
}
public static Object clone2(Object o) throws ClassNotFoundException, IOException {
//将对象写入流中
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(outputStream);
oos.writeObject(o);
//将对象从流中去取
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
ObjectInputStream ois = new ObjectInputStream(inputStream);
return ois.readObject();
}
}