zoukankan      html  css  js  c++  java
  • Java8之Cloneable接口

    作用:实现对象的浅复制,在clone之后,改变其中一个对象的引用类型变量,会影响另外一个,改变不可变的属性,则不影响。

    查看源码

    package java.lang;
    public interface Cloneable {
    
    }
    

    测试

    public class Person implements Cloneable{
        private String name;
        private Child child;
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Child getChild() {
            return child;
        }
        public void setChild(Child child) {
            this.child = child;
        }
        
        // 重写Object的clone方法
        @Override
        public Person clone() throws CloneNotSupportedException {
            return (Person) super.clone();
        }
    }
    
    public class Test {
        public static void main(String[] args) {
            Child child = new Child();
            Person p1 = new Person();
            p1.setChild(child);
            p1.setName("Fei");
            Person p2 = null;
            try {
                p2 = p1.clone();
            } catch (CloneNotSupportedException e) {
                e.printStackTrace();
            }
            
            System.out.println("p1的地址:"+p1.hashCode());
            System.out.println("p2的地址:"+p2.hashCode());
            System.out.println("p1名字的地址:"+p1.getName().hashCode());
            System.out.println("p2名字的地址:"+p2.getName().hashCode());
            System.out.println("p1儿子的地址:"+p1.getChild().hashCode());
            System.out.println("p2儿子的地址:"+p2.getChild().hashCode());
        }
    }
    结果:
    p1的地址:366712642
    p2的地址:1829164700
    p1名字的地址:70506
    p2名字的地址:70506
    p1儿子的地址:2018699554
    p2儿子的地址:2018699554
    
  • 相关阅读:
    再谈加密-RSA非对称加密的理解和使用
    WEB开发中的字符集和编码
    网页实时聊天之PHP实现websocket
    PHP中的回调函数和匿名函数
    shell实现SSH自动登陆
    初探PHP多进程
    PHP的openssl加密扩展使用小结
    搭建自己的PHP框架心得(三)
    docker 快速搭建Nexus3
    用图形数据库Neo4j 设计权限模块
  • 原文地址:https://www.cnblogs.com/feiqiangsheng/p/11196229.html
Copyright © 2011-2022 走看看