zoukankan      html  css  js  c++  java
  • 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='一中'}
    
  • 相关阅读:
    zookeeper 初步学习
    nginx+redis+4个tomcat 负载均衡
    nginx的配置文件解析
    nginx-----惹不起的端口修改
    Api2Doc生成 Restful API 文档
    swagger2 注解整体说明
    SpringMVC 中xml 配置多数据源
    lombok 注解使用
    springboot 中 集成druid ,redis
    spring学习---day01
  • 原文地址:https://www.cnblogs.com/fooller/p/14116432.html
Copyright © 2011-2022 走看看