1.java接口中有一种空的接口叫标识接口,这种接口值起到标识作用。

2.要实现java对象克隆需要用到Object类的

protected Object clone() throws CloneNotSupportedException

方法,这个方法为protected限定,在本包中,或者不同包的子类中才能访问,并且抛出异常。

3.如果要实现对象克隆首先被克隆的类必须实现Cloneable接口,如果没有实现这个接口,调用clone()方法会抛出

4.实现cloneable接口后,因为不能访问Object类中的clone方法,所以我们必须重写clone方法

在子类的clone()方法中调用父类的clone()方法

package com.clone;

class Cat implements Cloneable{

private int age;

private String name;

public void setAge(int age) {

this.age = age;

}

public int getAge() {

return age;

}

public Cat(int age,String name)

{

this.age=age;

this.name=name;

}

public String toString()

{

return "姓名:"+this.name+",年龄:"+this.age;

}

@Override

protected Object clone() throws CloneNotSupportedException {

// TODO Auto-generated method stub

return super.clone();

}

}

public class TestClone {

public static void main(String[] args) {

Cat cat1=new Cat(20,"小白");

Cat cat2=null;

try {

cat2=(Cat)cat1.clone();

} catch (CloneNotSupportedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println(cat1);

System.out.println(cat2);

cat1.setAge(30);

System.out.println(cat1);

System.out.println(cat2);

System.out.println(cat1==cat2);

}

}

java 子类克隆_Java对象克隆了解相关推荐

  1. java对象序列化克隆_JAVA 对象克隆和序列化

    先用一个例子来说明假克隆吧,也就是用"="之后的效果.. [运行结果]: [运行结果] 姓名:rollen年龄:20 姓名:hello world年龄:100 姓名:hello w ...

  2. java 如何实现对象克隆_Java对象克隆

    Java不提供克隆(复制)对象的自动机制.克隆对象意味着逐位复制对象的内容.要支持克隆操作,请在类中实现clone()方法.Object类中的clone()方法的声明如下: protected Obj ...

  3. java 对象克隆_JAVA对象克隆

    1> 为了获取对象的一份拷贝,我们可以利用Object类的clone()方法. 2> 在派生类中覆盖基类的clone(),并声明为public. 3> 在派生类的clone()方法中 ...

  4. java 克隆一个对象_Java对象克隆

    Java对象克隆 1 什么是Java对象克隆 对象克隆是创建一个对象的副本的方式.Object类的clone() 方法用于克隆对象. java.lang.Cloneable接口必须由我们要建立其对象克 ...

  5. java浅度克隆_java对象 深度克隆(不实现Cloneable接口)和浅度克隆

    为什么需要克隆: 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说 ...

  6. java对象克隆的例子_Java对象克隆

    本篇文章帮大家学习java对象克隆,包含了Java对象克隆使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. Java不提供克隆(复制)对象的自动机制.克隆对象意味着逐位复制 ...

  7. JAVA进阶—注解,对象克隆,设计模式

    目录 注解 什么是注解 内置注解 元注解 重点掌握 自定义注解 对象克隆 为什么要克隆? 如何实现克隆 解决多层克隆问题 Java 设计模式(java design patterns) 设计模式概念 ...

  8. Java提升篇:对象克隆(复制)

    引论 假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,sho ...

  9. java初始化实例化_Java对象的创建过程:类的初始化与实例化

    一.Java对象创建时机 我们知道,一个对象在可以被使用之前必须要被正确地实例化.在Java代码中,有很多行为可以引起对象的创建,最为直观的一种就是使用new关键字来调用一个类的构造函数显式地创建对象 ...

最新文章

  1. c语言s开头的函数以及作用,C语言函数大全-s开头-完整版.doc
  2. 【剑指offer-Java版】10二进制中1的个数
  3. 一个有趣的算法问题:如何定义一个分数类
  4. 魔兽世界 服务器维护,魔兽世界8.0:服务器崩溃紧急维护三小时 网易这次得背大锅!...
  5. 基于Xml 的IOC 容器-解析配置文件路径
  6. 笑郭网络验证3.8研究笔记(内有视频教程)
  7. 一次失败的项目经理招聘经验
  8. 关于Eclipse无法显示package Explorer 内容的解决方法
  9. 自学c语言需要什么要求,学习c语言需要什么基础
  10. POI读取word文档后插入内容以及设置标题样式
  11. 4、6、7、8、9、11、13、27的倍数的特征
  12. 创业公司系统安全的搭建
  13. 浩辰3D与SolidWorks之间的异同
  14. Java系列之:查看jar包中源代码
  15. [产品分析] Palm Pre,iPhone,Gphone全面大比拼
  16. 掌门教育荣获2020中国教育资本论坛“最具投资价值奖” 迎市场用户双重好评
  17. 联想服务器bios查看网卡信息,如何通过BIOS检查确认硬盘信息可被正常识别
  18. Amino——框架层
  19. 送君千里终须一别,1胜2负,唯一战胜过AlphaGo的人退役了
  20. 动态Probit模型及Stata实现

热门文章

  1. Dubbox 是什么?
  2. ubuntu 软件管理
  3. 杜拉拉升职记-选段-如何来定位一家公司以及所谓的中产阶级生活
  4. My First Plug-in - Inventor API .NET 开发从0开始-课程3
  5. PHP实现RSA算法
  6. bash(CVE-2014-6271) shellshock-破壳漏洞复现
  7. 批量更改Excel数据透视表字段汇总方式
  8. matlab函数——shading函数
  9. 用MATLAB做简单的运动模糊
  10. oracle配DISPLAY,ORACLE安装DISPLAY变量设置