Java中的Clone机制(浅层复制)
浅层复制代码:
 import java.util.*;
 class Int{
     private int i;
     public Int(int ii){i = ii;}
     public void increment(){i++;}
     public String toString(){
         return Integer.toString(i);
     }
 }
 public class Cloning{
     public static void main(String[] args){
         Vector v = new Vector();
         for(int i = 0; i < 10; i++)
             v.addElement(new Int(i));
         System.out.println("v: "+v);
         Vector v2 = (Vector)v.clone();
         for(Enumeration e = v2.elements();e.hasMoreElements();)
             ((Int)e.nextElement()).increment();
         System.out.println("v: "+v);
     }
 }
输出:
v: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
v: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
分析:
Object类提供的Clone机制只对对象里各实例变量进行“简单复制”,如果实例变量的类型是引用类型,Clone机制也只是简单地复制这个引用变量。
Java中的Clone机制(浅层复制)的更多相关文章
- java数组对象的浅层复制与深层复制
		
实际上,java中数组对象的浅层复制只是复制了对象的引用(参考),而深层复制的才是对象所代表的值.
 - Java中对Clone的理解
		
面试中经常遇到Clone的相关知识,今天总算是把Clone理解的比较透彻了!Java中Clone的概念大家应该都很熟悉了,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Cl ...
 - JAVA中的clone方法剖析
		
原文出自:http://blog.csdn.net/shootyou/article/details/3945221 java中也有这么一个概念,它可以让我们很方便的"制造"出一个 ...
 - c++中深层复制(浅层复制运行错误)成功运行-----sample
		
下面随笔给出c++中深层复制(浅层复制运行错误)成功运行------sample. 浅层复制与深层复制 浅层复制 实现对象间数据元素的一一对应复制. 深层复制 当被复制的对象数据成员是指针类型时,不是 ...
 - 详解Java中的clone方法
		
详解Java中的clone方法 参考:http://blog.csdn.net/zhangjg_blog/article/details/18369201/ 所谓的复制对象,首先要分配一个和源对象同样 ...
 - EffectiveJava(11)Java中的clone
		
java中的clone clone构造器及其静态工厂的变形 优点:它们不依赖于某一种很有风险的,语言之外的对象创建机制; 它们不要求遵守尚未制定好文档的规范 他们不会于final域的正常使用发生冲突 ...
 - 浅拷贝和深拷贝(谈谈java中的clone)
		
clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那么在java语言中,有 ...
 - 【Java基础】java中的反射机制与动态代理
		
一.java中的反射机制 java反射的官方定义:在运行状态下,可以获取任意一个类的所有属性和方法,并且可通过某类任意一对象实例调用该类的所有方法.这种动态获取类的信息及动态调用类中方法的功能称为ja ...
 - 深入理解Java中的Clone与深拷贝和浅拷贝
		
1.Java对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象. ...
 
随机推荐
- uva12486 Space Elevator(数位dp)
			
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud 题目链接:https://uva.onlinejudge.org/index.ph ...
 - sublime3 ctl+b无效
			
Preference->Browse Packages->python,编辑Python.sublime-build文件,在字典里添加path item,value为你的python路径, ...
 - Mysql学习(慕课学习笔记8)插入、更新、删除记录
			
插入记录 Insert[]into] tb1_name[(col_name,…..)] 自动编号的字段,可以用values default Default 可以赋予默认值 INSERT USERS V ...
 - 使用CSS3+jquery.js 实现微信抽奖转盘效果
			
上次发表了一篇 微信抽奖转盘活动-效果源码分析 最近想起了刚接到这个项目时第一时间脑海里迸出的解决方法 “CSS3”! 为什么不能用CSS3来实现呢? 所以我打算用CSS3来实现这个效果.并不需要依赖 ...
 - dede留言板BUG解决
			
dede留言板刷新后空白BUG解决 DEDE留言板验证码留空或者不正确返回空白页面的解决方法 解决方法如下进入文件/plus/guestbook.php 找到代码ShowMsg("验证码不正 ...
 - linux 下 重启apache
			
重启 apache #service httpd restart
 - Ubuntu 12.04 更新源
			
转载自:http://www.cnblogs.com/eastson/archive/2012/08/24/2654163.html 1.首先备份Ubuntu12.04源列表 sudo cp /etc ...
 - angularJs项目实战!03:angularjs与其他类库的协作
			
引言:angularjs是一个中等重量级的前端开发框架 HTML是一门很好的为静态文本设计的语言,但要构建动态的web应用它就显的乏力了.通常,我们使用以下技术来解决静态网页技术在构建动态应用上的不足 ...
 - 【转】android service 之二(IntentService)
			
原文网址:http://rainbow702.iteye.com/blog/1143286 不管是何种Service,它默认都是在应用程序的主线程(亦即UI线程)中运行的.所以,如果你的Service ...
 - AS3读取加密XML
			
首先要确定xml使用了哪些加密方式,这样在As3中就反过来解密. 我加密xml的方式是先将xml文件打包为一个压缩文件,然后将压缩文件进行RC4加密,最后用base64将加密过的压缩包转为base64 ...