• Cloneable的使用


    Cloneable的使用

    • 在开发过程中,拷贝实例是常见的一种操作,如果一个类中的字段较多,而我们又采用在客户端中逐字段复制的方 法进行拷贝操作的话,将不可避免的造成客户端代码繁杂冗长,而且也无法对类中的私有成员进行复制,而如果让需要 具备拷贝功能的类实现Cloneable接口,并重写clone()方法,就可以通过调用clone()方法的方式简洁地实现实例 拷贝功能
    public class DeepCopy implements Cloneable{
        private int id;
        private String name;
        private String school;
    
        @Override
        protected Object clone()  {
            DeepCopy deepCopy = null;
            try {
                Random r = new Random(1);
                deepCopy = (DeepCopy)super.clone();
                deepCopy.id = r.nextInt(100);
                deepCopy.name = this.name;
                deepCopy.school = this.school;
            }  catch (CloneNotSupportedException e) {
                e.printStackTrace();
            }
            return deepCopy;
        }
    }
    
    
    public static void main(String[] args) {
    	// write your code here
    	DeepCopy deepCopy = new DeepCopy();
    	deepCopy.setId(1);
    	deepCopy.setName("zs");
    	deepCopy.setSchool("一中");
    	Object clone = deepCopy.clone();
    	System.out.println(deepCopy.toString());
    	System.out.println(clone.toString());
    }
    
    //输出结果
    DeepCopy{id=1, name='zs', school='一中'}
    DeepCopy{id=85, name='zs', school='一中'}
    
  • 相关阅读:
    第二冲刺阶段个人博客
    单元测试
    软件工程个人总结
    梦断代码阅读笔记03
    梦断编码阅读笔记02
    梦断代码阅读笔记01
    padding margin
    MVC模式在Java Web应用程序中的实例分析
    小问题
    MVC理解
  • 原文地址:https://www.cnblogs.com/fooller/p/14116432.html
Copyright © 2020-2023  润新知