Java的浅拷贝和深拷贝(1)
来源:互联网 发布:拳击知乎 编辑:程序博客网 时间:2024/06/05 18:20
Java的拷贝分为深拷贝和浅拷贝
浅拷贝:把一个对象中所有的非static成员变量(包括对其它对象的引用,java中的引用相当于C/C++中的指针变量)都拷贝一遍,而不拷贝引用所指向的对象
深拷贝:把一个对象中所有的非static成员变量(包括对其它对象的引用)都拷贝一遍,引用所指向的对象也拷贝一份
这篇文章先讲述浅拷贝,深拷贝下篇文章讲述
一个类的对象如果想要具有拷贝的功能,比如符号如下条件:
1.必须实现Cloneable接口(这个接口中没有定义方法,叫做标记接口)
2.重写Object类的clone()方法,该方法实现的是浅拷贝
3.在该类的clone()方法中的第一句,比如调用super.clone()来调用Object的clone()方法来实现拷贝
以下是一个浅拷贝的例子:
从运行结果可以看出,通过学生s2将其引用school所指向的对象的name和bornYear属性改变,相应的s1的也被改变,这说明学生s1和学生s2里面的school引用指向的始终是同一个School对象。这就是浅拷贝的含义。
- Java的深拷贝和浅拷贝
- Java的深拷贝和浅拷贝
- Java的深拷贝和浅拷贝
- Java的浅拷贝和深拷贝
- Java的深拷贝和浅拷贝
- Java的深拷贝和浅拷贝
- Java的深拷贝和浅拷贝
- Java的深拷贝和浅拷贝
- Java的深拷贝和浅拷贝
- Java的深拷贝和浅拷贝
- java的深拷贝和浅拷贝
- Java的浅拷贝和深拷贝
- Java的深拷贝和浅拷贝
- Java的浅拷贝和深拷贝
- java的深拷贝和浅拷贝
- Java 的深拷贝和浅拷贝
- Java的浅拷贝和深拷贝(1)
- Java中的深拷贝和浅拷贝
- android 应用程序全屏的方法
- 宏定义
- 学习中的自我提醒1
- 概率论教你说谎:直觉思维的科学解释
- 公司绝不会告诉你的20大秘密
- Java的浅拷贝和深拷贝(1)
- ADO错误码,ASP错误代码,jscript错误代码,vbscript错误代码对应
- 淘宝开放平台引发的思考
- 如何学好电力系统!
- ert
- TransactionScope
- 注册公司流程及手续费
- 关于Jquery在项目开发中的一点心得,还是基础最重要啊。
- Linq 实践一,实现用户自定义组合查询