快速业务通道

大话深入浅出Effective Java核心实战编程思想之猴王的把戏 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
60        public Object 变出一个化身 (){ 61            Object cloneObj=null; 62            try { 63                cloneObj=clone(); 64            } catch(CloneNotSupportedException ex){ 65                ex.printStackTrace(); 66            } 67            return cloneObj; 68        } 69 70        @Override 71         protected Object clone() throws CloneNotSupportedException{ 72             return super.clone(); 73        } 74 75        public String 名字() { 76            return name; 77        } 78 79         public void 改名(String name){ 80            this.name=name; 81        } 82 83        public 武器 的武器() { 84            return weapon[0]; 85        } 86 87         public void 取得武器(武器 weapon) { 88            this.weapon [0] = weapon; 89        } 90    } 91 92    class 武器{ 93        public 武器(){ 94 95        } 96    } 97 98    class 金箍棒 extends 武器{ 99        public 金箍棒(){ 100         } 101    } 102 103    class 宝葫芦 extends 武器{ 104         public 宝葫芦(){ 105        } 106    } 107 108 109} 110

大话深入浅出Effective Java核心实战编程思想之猴王的把戏(2)

时间:2011-09-24 blogjava Heis

看到这里你应该对深克隆和浅克隆有了初步的了解了吧?现在我们再看怎样深克隆一个猴王,哦,不 对,应该是真正猴王的七十二变。(为什么我叫他猴王,因为孙悟空有歧义)。

  1import static org.junit.Assert.assertEquals; 2import static org.junit.Assert.assertFalse; 3import static org.junit.Assert.assertNotSame; 4import static org.junit.Assert.assertTrue; 5 6import org.junit.Test; 7 8 9public class TestDeepClone { 10 11    @Test 12    public void testDeepClone(){ 13        // 西天取经的路上,金角大王和银角大王把唐 僧抓走了 14        猴王 齐天大圣=new 猴王("齐天大圣孙悟空"); 15         //大圣手拿金箍棒,正要收拾金、银角大王。 16        齐天大圣.取得武器(new 金箍 棒()); 17 18        /**//* 19         * 这时候,金角大王和银角 大王听闻大圣来者不善,立马让小妖去请出他们的宝葫芦 20         * 当然这一切瞒不 过神通广大的大圣爷。大圣猴毛一吹,变出一个老道士。 21         */ 22         猴王 空悟孙道士=(猴王)齐天大圣.变出一个化身(); 23        空悟孙道士.改 名("空悟孙道士"); 24 25        /**//* 26         * 老道士忽悠 小妖说他的葫芦更厉害,能把天都给收了,智力值只有20的小妖看了羡慕不已,要求交换葫芦。 27          * 老道士自然很乐意,换了葫芦,直奔妖怪洞穴,收服了金、银角大王。 28          */ 29        齐天大圣.取得武器(new 宝葫芦()); 30 31 32        assertTrue(空悟孙道士.的武器() instanceof 金箍棒); 33        assertFalse(空悟孙道士.的武器() instanceof 宝葫芦); 34        assertNotSame(空悟 孙道士.的武器(),

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号