锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 计算机基础
  3. 浅拷贝、深拷贝、引用拷贝

浅拷贝、深拷贝、引用拷贝

0
  • 计算机基础
  • 发布于 2024-09-11
  • 13 次阅读
黄健
黄健

目录

1.浅拷贝

2.深拷贝

3.引用拷贝

4.代码示例

5.总结



浅拷贝、深拷贝和引用拷贝是在编程中用来 复制对象或数据 的三种不同方式。

1.浅拷贝

浅拷贝(Shallow Copy):浅拷贝创建一个新对象,其中包含原始对象的引用。这意味着新对象和原始对象将引用相同的内存地址,对其中一个对象的修改将影响到另一个对象。简而言之,浅拷贝只复制对象的引用,并没有复制对象本身。

2.深拷贝

深拷贝(Deep Copy):深拷贝创建一个新对象,并递归地复制原始对象及其所有嵌套对象。这意味着新对象和原始对象是完全独立的,修改一个对象不会影响到另一个对象。简而言之,深拷贝复制了整个对象及其引用对象。

3.引用拷贝

引用拷贝(Reference Copy):引用拷贝只是简单地将新变量指向原始对象的内存地址,而不创建新的对象。这意味着新旧变量都引用同一个对象,对其中一个变量的修改也会影响到另一个变量。

4.代码示例

// 假设有一个Person类
class Person {
    public String name;

    public Person(String name) {
        this.name = name;
    }
}

// 创建一个原始对象
Person original = new Person("Alice");

// 浅拷贝示例
Person shallowCopy = original;
shallowCopy.name = "Bob";
System.out.println(original.name);  // 输出 "Bob",原始对象被修改

// 深拷贝示例
Person deepCopy = new Person(original.name);
deepCopy.name = "Charlie";
System.out.println(original.name);  // 输出 "Bob",原始对象未被修改

// 引用拷贝示例
Person referenceCopy = original;
referenceCopy.name = "Dave";
System.out.println(original.name);  // 输出 "Dave",原始对象被修改

5.总结

对于浅拷贝和引用拷贝来说,修改拷贝后的对象会影响到原始对象,而深拷贝则不会。因此,深拷贝是最为彻底的拷贝方式,可以创建独立的对象副本,而浅拷贝和引用拷贝只是创建了指向相同对象的新引用。

原文链接: https://blog.csdn.net/chenchenchencl/article/details/131599189

标签: #计算机基础 19
相关文章

修改注册表停用 Windows 资讯和兴趣服务教程 2025-03-14 18:02

修改注册表停用 Windows 资讯和兴趣服务教程 一、自动修改注册表(适合不想手动操作的用户)

光纤跳线fc-sc

光纤跳线fc-sc 2024-10-16 21:59

光纤跳线FC-SC是一种常见的光纤连接器跳线,它用于连接不同类型的光纤接口。这种跳线的一端装有FC连接器,另一端装有SC连接器。 FC连接器(Ferrule Connector)是一种早期的光纤连接器类型,它采用金属套管和螺纹锁紧机制,具有较好的机械性能和稳定性。FC连接器通常用于单模光纤的连接,其

Windows原版镜像 2024-10-16 08:48

本文搜集了微软官方的原版Windows镜像,无任何第三方插件,无任何定制内容。 使用U盘安装时需要使用U盘写入工具。 1、Windows 11 首先确认电脑是否支持Windows11,不能支持的话请下载使用Windows10系统。

如何将NAS上的共享文件夹设置成桌面快速方式 2024-10-14 13:53

使用场景:已将A电脑的文件设置分享,打算在B电脑中找到A电脑的共享文件 1、在桌面空白区域点击右键,点击菜单【新建】-【快捷方式】; 2、在【创建快捷方式】页面,输入网络存储中的共享文件夹UNC路径(\\ip\共享文件夹名)后,点击【下一步】; PS:进行本步骤的提前,已将A电脑的文件设置分享。

PVC管道的Dn是内径还是外径?De/D/Φ分别指什么?

PVC管道的Dn是内径还是外径?De/D/Φ分别指什么? 2024-10-13 23:12

一、国家标准是如何规定的? 根据《建筑给水排水制图标准》GB/T 50106-2010规定,管径的表达方法应符合下列规定: 1,水煤气输送钢管(镀锌或非镀锌)、铸铁管等管材,管径宜以

PVC线管a管b管C管区别

PVC线管a管b管C管区别 2024-10-13 23:01

PVC线管分为A管、B管、C管,它们在标准、壁厚、价格和用途方面存在显著区别。 A型管

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.