zoukankan      html  css  js  c++  java
  • java 类拷贝

    直接上代码:
    public
    class Demo { public static void main(String[] args) throws CloneNotSupportedException { Person p1 = new Person(); p1.setAge(123); p1.setName("abc"); Person p2 = (Person) p1.clone(); p2.setAge(222); System.out.println(p1+""+p1.toString()); System.out.println(p2+""+p2.toString()); } } /** * * @see java.lang.CloneNotSupportedException * @see java.lang.Object#clone() * * */ class Person implements Cloneable { public Object clone() throws CloneNotSupportedException{ return (Person) super.clone(); } private String name; private Integer age; 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; } }

    运行结果:

    在日常项目偶尔会用到类拷贝 

    类似  map.putAll操作

    但是我修改后面的对象会影响前一个对象的原始值。

    都是指向同一个地址。

    cloen 会另外开辟一个内存来保存拷贝出来的值。

    修改不会影响原始值。个人理解



  • 相关阅读:
    装饰器
    深浅拷贝
    dm-开发知识片段积累
    java开发-SDE配置
    一、数据库介绍
    oracle学习 知识点目录
    五、Java SE核心II
    三、面向对象
    四、Java SE核心I
    二、Java语言基础
  • 原文地址:https://www.cnblogs.com/1-Admin/p/9093205.html
Copyright © 2011-2022 走看看