当前位置: 首页 > news >正文

网站开发交付验收文档为什么做网站越早越好

网站开发交付验收文档,为什么做网站越早越好,扁平化风格的网站,企业备案信息哪里可以查Java 中也存在类似的“直接引用”“浅拷贝”和“深拷贝”概念,只是实现方式与 Python 略有不同(Java 更依赖对象的 clone() 方法和接口实现)。以下是具体对应关系和示例: 1. Java 中的“直接引用”(对应 Python 的 b …

Java 中也存在类似的“直接引用”“浅拷贝”和“深拷贝”概念,只是实现方式与 Python 略有不同(Java 更依赖对象的 clone() 方法和接口实现)。以下是具体对应关系和示例:

1. Java 中的“直接引用”(对应 Python 的 b = a

  • 本质:通过赋值运算符 = 让新变量指向原对象的引用,两者共享同一块内存。

  • 表现:修改任何一方的成员变量(包括基本类型和引用类型),都会影响另一方。

    示例

    class MyClass {int num;int[] arr; // 引用类型成员public MyClass(int num, int[] arr) {this.num = num;this.arr = arr;}
    }public class Main {public static void main(String[] args) {int[] arr = {1, 2};MyClass a = new MyClass(10, arr);MyClass b = a; // 直接引用,共享同一对象// 修改基本类型成员b.num = 20;System.out.println(a.num); // 20(a 被影响)// 修改引用类型成员b.arr[0] = 100;System.out.println(a.arr[0]); // 100(a 被影响)}
    }
    

2. Java 中的“浅拷贝”(对应 Python 的 a.copy()a[:]

  • 实现方式:通过重写 Object 类的 clone() 方法,并让类实现 Cloneable 接口(标记接口,无实际方法)。

  • 本质:创建新对象,复制原对象的基本类型成员,但引用类型成员仍指向原对象的引用(共享嵌套结构)。

  • 表现

    • 修改新对象的基本类型成员,原对象不受影响。
    • 修改新对象的引用类型成员,原对象会被同步影响。

    示例

    class MyClass implements Cloneable { // 实现 Cloneable 接口int num;int[] arr;public MyClass(int num, int[] arr) {this.num = num;this.arr = arr;}// 重写 clone() 实现浅拷贝@Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone(); // 调用父类的 clone(),默认是浅拷贝}
    }public class Main {public static void main(String[] args) throws CloneNotSupportedException {int[] arr = {1, 2};MyClass a = new MyClass(10, arr);MyClass b = (MyClass) a.clone(); // 浅拷贝// 修改基本类型成员b.num = 20;System.out.println(a.num); // 10(a 不受影响)// 修改引用类型成员b.arr[0] = 100;System.out.println(a.arr[0]); // 100(a 被影响,共享引用)}
    }
    

3. Java 中的“深拷贝”(对应 Python 的 copy.deepcopy(a)

  • 实现方式:在浅拷贝基础上,手动对所有引用类型成员也进行拷贝(递归拷贝嵌套结构)。

  • 本质:创建完全独立的新对象,所有层级的成员(包括嵌套的引用类型)都被复制,与原对象无任何共享。

  • 表现:修改新对象的任何成员(基本类型或引用类型),原对象都不受影响。

    示例

    class MyClass implements Cloneable {int num;int[] arr;public MyClass(int num, int[] arr) {this.num = num;this.arr = arr;}// 重写 clone() 实现深拷贝@Overrideprotected Object clone() throws CloneNotSupportedException {MyClass copy = (MyClass) super.clone(); // 先浅拷贝外层copy.arr = this.arr.clone(); // 手动拷贝引用类型成员(深拷贝关键)return copy;}
    }public class Main {public static void main(String[] args) throws CloneNotSupportedException {int[] arr = {1, 2};MyClass a = new MyClass(10, arr);MyClass b = (MyClass) a.clone(); // 深拷贝// 修改基本类型成员b.num = 20;System.out.println(a.num); // 10(a 不受影响)// 修改引用类型成员b.arr[0] = 100;System.out.println(a.arr[0]); // 1(a 不受影响,嵌套结构已独立)}
    }
    

总结:Java 与 Python 的对应关系

操作类型Python 实现Java 实现核心特点
直接引用b = aMyClass b = a;完全共享,修改互相同步
浅拷贝b = a.copy()a[:]实现 Cloneable 并重写 clone()(默认浅拷贝)外层独立,嵌套结构共享
深拷贝b = copy.deepcopy(a)重写 clone() 并手动拷贝所有引用类型成员完全独立,无任何共享

Java 中没有像 Python 那样的 copy 模块自动处理深拷贝,需要手动实现嵌套对象的拷贝逻辑,这也是 Java 中深拷贝相对繁琐的原因。

http://www.dtcms.com/a/567955.html

相关文章:

  • 企业网站建设外包白银市城乡建设局网站
  • 网站跳转怎么做360做类似淘宝的网站
  • 毕业网站建设pptwordpress 培训模板下载
  • vs2008不能新建网站清远做网站seo
  • 简单的网站设计怎么做wordpress防止博客恶意采集
  • 电子商务网站建设软件湖南网站建设价位
  • 影视网站策划书7k7k网页游戏入口
  • 合肥网站建设模板商丘seo公司
  • 方圆网 网站建设简历制作哪里好
  • 做pc网站会连带手机版做摄影网站
  • 网站中flash企业管理系统网站开发标书
  • 淮安官方网站开发区建材网站设计
  • 婺源做网站有吗百度seo规则
  • 用ps制作网站首页jsp网站开发环境配置
  • 镇江网站建设制作企业二维码制作网站
  • 农村网站建设必要性手机可以建立网站吗
  • 海南网站制作公司优化公司排行榜
  • 网站优化升级网站怎么制作教程
  • 网站定制开发收费标准是多少汕头建站模板厂家
  • 上海专业网站设计制作网站建设 上海浦东
  • 做建材一般去什么网站宣传h5页面制作的心得
  • 网上做调查赚钱的网站有没有专门做团购的网站
  • 东莞网站建设制作公司网站介绍ppt怎么做
  • 手机网站编辑马鞍山建设机械网站
  • 做网站需要哪些费用如何学习建设网站
  • 百度地图嵌入公司网站网站举报电话是多少
  • 制作一个网站做棋牌网站的步骤
  • 新网站建设怎么样网站建设自由容器是什么意思
  • 网站建设3a模型是什么意思正规代加工
  • 北京西站地铁几号线做纸棋的网站