先用一个例子来说明假克隆吧,也就是用“=”之后的效果、。

【运行结果】:

【运行结果】

姓名:rollen年龄:20

姓名:hello world年龄:100

姓名:hello world年龄:100

下面看看java中的浅拷贝

对于类中的每个域,如果只包含基本类型或者不可变的引用类型,如String,或者对象在其生命周期内不会发生变化,则可以使用浅拷贝来复制对象,但是一般使用深拷贝。

【运行结果】:

克隆之前:

name:rollen, age:20

Address: state:中国munber: 1

克隆之后

name:rollen, age:20

Address: state:美国munber: 2

-----

name:hello world, age:100

Address: state:美国munber: 2

但是上面的主函数中的:

替换为:

运行结果为:

克隆之前:

name:rollen, age:20

Address: number: 1state中国

克隆之后

name:rollen, age:20

Address: number: 1state中国

-----

name:hello world, age:100

Address: number: 2state美国

这里我有点不明白了,为什么这种情况下克隆之后两个address会不一样呢?

谁帮忙指点一下,谢谢了、

现在看看java对象的深克隆

【运行结果】:

【运行结果】:

克隆之前:

name:rollen, age:20

Address: state:中国munber: 1

克隆之后

name:rollen, age:20

Address: state:中国munber: 1

-----

name:hello world, age:100

Address: state:美国munber: 2

序列化接口和对象克隆

【运行结果】:

克隆之前:

name:rollen, age:20

Address: number: 1state中国

克隆之后

name:rollen, age:20

Address: number: 1state中国

-----

name:hello world, age:100

Address: number: 2state美国

对于任何一个序列化的对象,都必须要求实现Serializable接口。其次,如果这个类的域中也有引用对象,则也有要求这个引用类型也实现这个接口,。最后,序列化方式实现克隆效率不高,没有直接深度克隆的效率高。有兴趣的朋友可以测试一下。

java对象序列化克隆_JAVA 对象克隆和序列化相关推荐

  1. java浅度克隆_java对象 深度克隆(不实现Cloneable接口)和浅度克隆

    为什么需要克隆: 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说 ...

  2. java 如何实现对象克隆_Java对象克隆

    Java不提供克隆(复制)对象的自动机制.克隆对象意味着逐位复制对象的内容.要支持克隆操作,请在类中实现clone()方法.Object类中的clone()方法的声明如下: protected Obj ...

  3. java 子类克隆_Java对象克隆了解

    1.java接口中有一种空的接口叫标识接口,这种接口值起到标识作用. 2.要实现java对象克隆需要用到Object类的 protected Object clone() throws CloneNo ...

  4. java 对象克隆_JAVA对象克隆

    1> 为了获取对象的一份拷贝,我们可以利用Object类的clone()方法. 2> 在派生类中覆盖基类的clone(),并声明为public. 3> 在派生类的clone()方法中 ...

  5. json java对象 简书_Java 对象的 Json 化与反 Json 化

    最近在家里修习 Java 这项技能,估计快点满技能点儿了,很开心.不过遇到了一个问题,困扰了我一阵子.问题是这样的,我要写 Android App,与服务器交互.大家都知道 Javascript 不知 ...

  6. java对象生命周期_Java对象生命周期和类生命周期

    原标题:Java对象生命周期和类生命周期 作者:彭空空 链接:https://www.jianshu.com/p/25ea857ba78b 导读 对象的生命周期 类的加载机制 类的生命周期 类加载器 ...

  7. java对象的类型转换_Java对象的类型转换和属性复制

    1. 问题的源由 在J2EE项目开发中,会涉及很多领域模型对象,例如, VO (View Object) 视图对象,也叫展示对象,用于前端页面渲染所需要的数据 DTO (Data Transfer O ...

  8. java 对象池 实现_Java对象池技术的原理及其实现

    看到一片有关于java 对象基础知识,故转载一下,同时学习一下. 摘 要 本文在分析对象池技术基本原理的基础上,给出了对象池技术的两种实现方式.还指出了使用对象池技术时所应注意的问题. 关键词 对象池 ...

  9. java 对象向上转型_JAVA对象向上转型和向下转型

    今天做了一个测试的题目,发现自己还是很多问题没有静下心来做.很多问题是可以自己解决的但是自己一是没有读清题意,二是自己心里太急躁了.所以这个要自己应以为鉴! 对象的转型问题其实并不复杂,我们记住一句话 ...

最新文章

  1. linux进入节点权限,一种基于索引节点的Linux访问权限控制方法与流程
  2. Windows安全策略
  3. OrderAnalyticsController.initializeCachedDB - jdbc
  4. android 监听界面变化,Android之页面有变化用onWindowFocusChanged来监听权限是否开启...
  5. 如何阻止YouTube在iOS,Android和Web上自动播放视频
  6. SQL分页查询的介绍以及好处~~
  7. signature=267d7b238718fa0d900b4fd94e068fe9,Modelowanie widm NMR kwadrupolowych jąder
  8. .net研发工程师面试题,在线交流答案
  9. 有没有比python更简单的语言排名_编程语言4种更快更简单实现Python数据可视化的方法...
  10. POJ2104 K-th Number (平方分割 + 二分)
  11. php分页类怎么使用,PHP实现的分页类定义与用法示例
  12. opencv安装路径以及使用
  13. 应各位朋友的要求,贴出当年写的考研经历文章,希望能再给准备考研的朋友一些启发吧
  14. calloc、realloc、malloc
  15. 网易裁员,让保安把身患绝症的员工赶出公司!前网易员工亲述经历的噩梦!...
  16. usb线序usb线的接法
  17. poj1275 「一本通 3.4 例 2」出纳员问题
  18. 0078-【生活百科】-日程、笔记管理软件之大比拼
  19. C Traps and Pitfalls
  20. 基于python的停车场管理系统(毕设)

热门文章

  1. oracle adf 使用,ORACLE ADF 问题总结
  2. 根据邻接表求深度优先搜索和广度优先搜索_深度优先搜索/广度优先搜索与java的实现...
  3. 另外一些MySQL优化措施
  4. java什么时会出现gc_面试题:java GC发生在会么时候,对什么东西,做了什么事情...
  5. python如何调用cpp文件的接口函数_C++中嵌入Python调用
  6. 支付宝被曝光了一段视频,或许“刷脸支付”的时代就要来临了
  7. CRM系统业务的分析(1)
  8. Office WORD如何设置表格背景颜色
  9. JS 实现MVC的写法
  10. 深入浅出MyBatis-快速入门