美文网首页
java基础之Clone

java基础之Clone

作者: writeanewworld | 来源:发表于2018-08-22 13:57 被阅读0次

1.代码

public class CloneTest{
public static void main(String[] args) {
    Person p = new Person("一斤","两斤");
    System.out.println(p);
    
    Person p1 = p;
    System.out.println(p1);
    
    try {
        Person p2 = (Person) p.clone();
        System.out.println(p2);
    } catch (CloneNotSupportedException e) {
        e.printStackTrace();
    }
    
 }

}

class Person implements Cloneable{

private String eat;
private String drink;

//new person 就是使用提供的重载的构造器进行实例化,默认的是使用无参构造器进行实例化
Person(String eat,String drink){
    this.eat = eat;
    this.drink = drink;
}


public String getEat() {
    return eat;
}
public void setEat(String eat) {
    this.eat = eat;
}
public String getDrink() {
    return drink;
}
public void setDrink(String drink) {
    this.drink = drink;
}

@Override
protected Object clone() throws CloneNotSupportedException {
    //clone有缺省行为,super先将父类中的成员复制到位,然后再复制自己的成员 
    return (Person )super.clone();
}

}

2.运行结果

com.begin21.top.Person@7852e922
com.begin21.top.Person@7852e922
com.begin21.top.Person@4e25154f

相关文章

  • java基础之Clone

    1.代码 2.运行结果

  • 面试题汇总

    1.Java基础面试问题 Java基础之基础问题 Java基础之面向对象 Java基础之数据结构 Java基础之I...

  • JAVA基础

    java基础 equals实现 object的方法 clone,equals,notify,notifyall,h...

  • Java基础之LinkedHashMap源码解析

    Java集合源码解析系列 Java基础之HashMap源码解析 Java基础之HashTable源码解析 Java...

  • Java基础之LinkedList源码解析

    Java集合源码解析系列 Java基础之HashMap源码解析 Java基础之LinkedHashMap源码解析 ...

  • Java基础之ArrayList源码解析

    Java集合源码解析系列 Java基础之HashMap源码解析 Java基础之LinkedHashMap源码解析 ...

  • Java基础之HashTable源码解析

    Java集合源码解析系列 Java基础之HashMap源码解析 Java基础之LinkedHashMap源码解析 ...

  • Java之深浅clone

    浅克隆 浅度克隆对于要克隆的对象,对于其基本数据类型的属性,复制一份给新产生的对象,对于非基本数据类型的属性,仅仅...

  • Java 基础学习笔记

    Java 基础之 面向对象六大原则 Java 基础之 重写和重载的区别和各自使用 Java 基础之巧用Object...

  • Spring Boot 深拷贝对象

    背景 Java Class类的clone()方法默认为浅拷贝模式,只能实现Java基础类型的按值拷贝操作,对对象拷...

网友评论

      本文标题:java基础之Clone

      本文链接:https://www.haomeiwen.com/subject/yizeiftx.html