赞
踩
拷贝即对已有的数据创建一个副本,在 Java 中,拷贝可分为引用拷贝、浅拷贝、深拷贝。
在 Java 中,实例化后的对象存储在堆区,而局部变量存放在局部变量表(栈)中,如:
- public void yinYongCopy() {
- User user = new User("xiaoming", 12);
- }
user 变量只是存放堆区 User 实例的引用(地址)。那么把 user 赋值另一个变量 copy,称为引用拷贝(相当于地址赋值)。
- public void yinYongCopy() {
- User user = new User("xiaoming", 12);
- User copy = user;
- }
user 和 copy 两个变量存放了 User 实例的指向,他们指向了同一份堆内存空间。
在 java 中,默认的拷贝指的是类重写 Object 类中的 clone 方法,调用该方法进行拷贝。Object 类中的 clone 方法使用 Native 修饰,由本地方法实现,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。