`

对象的克隆技术

    博客分类:
  • JAVA
 
阅读更多

对象克隆:对象的复制,完整的复制一个对象。如果要想完成对象克隆的话,则肯定依靠Object 类。

protected Object clone() throw CloneNot SupportedException

以上的方法就是对象克隆的方法;如果现在一个类的对象被克隆,则就必须在此类中明确的覆写此方法,但是此方法不能被直接调用。

Cloneable 是一个接口,但是在此接口中并没有规定任何操作方法,所以此接口实际上属于标识接口,表示一种能力。

 

// 实现Cloneable接口表示可以被克隆
class Person implements Cloneable{	 
	
	private String name ;
	
	public Person(String name){
		this.name = name ;
	}
	public void setName(String name){
		this.name = name ;
	}
	public String getName(){
		return this.name ;
	}
	public String toString(){
		return "姓名:" + this.name ;
	}
	
	public Object clone()
                throws CloneNotSupportedException
	{
		return super.clone() ;	// 具体的克隆操作由父类完成
	}
	
	
}

public class CloneDemo{
	public static void main(String args[]) throws Exception{
		Person p1 = new Person("张三") ;
		Person p2 = (Person)p1.clone() ;     //克隆p1的副本
		
		p2.setName("李四") ;
		System.out.println("原始对象:" + p1) ;
		System.out.println("克隆之后的对象:" + p2) ;
	}
}

 输出结果:

原始对象:姓名:张三
克隆之后的对象:姓名:李四

分享到:
评论

相关推荐

    对象克隆技术笔记

    031111_【第11章:Java常用类库】_对象克隆技术笔记

    对象克隆技术

    NULL 博文链接:https://chaoyi.iteye.com/blog/2082718

    clone 深度克隆对象

    深度克隆,也称为完全克隆,是一种创建新对象的技术,这个新对象不仅包含原始对象的所有属性值,还包含了嵌套对象的完整副本。这意味着如果一个对象中包含了其他对象的引用,深度克隆会创建这些引用对象的独立副本,...

    php实现对象克隆的方法

    PHP实现对象克隆的知识点主要涉及对象的深拷贝与浅拷贝的概念、PHP对象克隆的语法以及__clone魔术方法的使用。...在实际开发中,合理运用对象克隆技术,可以有效避免对原始对象状态的意外修改,减少数据污染的风险。

    java 对象克隆

    在Java编程语言中,对象克隆是一种创建一个与原对象具有相同数据的新对象的过程。对象克隆主要用于复制或备份对象,以便在不干扰原始对象的情况下对其进行修改或操作。本篇文章将详细探讨Java中的对象克隆及其实现...

    java 深克隆浅克隆

    克隆技术在处理复杂数据结构、避免对象共享以及实现对象复制等方面有着广泛的应用。Java提供了两种主要的克隆方式:深克隆和浅克隆。 1. 浅克隆(Shallow Clone): 浅克隆是通过调用对象的`clone()`方法来实现的,...

    Java对象的深克隆与浅克隆详解.zip(wcb2003)

    在Java编程语言中,克隆是一种创建对象副本的技术,它允许我们复制一个对象的状态而不影响原始对象。克隆主要用于创建对象的备份、实现复制功能或者在多线程环境中避免共享状态。Java提供了两种主要的克隆方式:浅...

    Java编程实现对象克隆(复制)代码详解

    在 Java 编程中,对象克隆是一种非常重要的技术,它允许开发者创建一个对象的副本,具有相同的属性和行为。对象克隆可以分为浅克隆和深克隆,浅克隆仅复制对象的引用,而深克隆则复制对象的所有属性。 对象克隆的...

    JS扩展类,克隆对象与混合类实例分析

    在JavaScript编程中,扩展类、克隆对象以及混合类是经常会用到的技术,它们各自有其特定的用途和实现方式。 首先我们来探讨“JS扩展类”。在JavaScript中,没有传统意义上的类继承机制,但可以通过原型链...

    Java期末复习-常用类库

    对象克隆技术通过实现Cloneable接口和覆盖clone方法实现对象的复制。Arrays类提供了对数组的各种操作,如排序和复制。Comparable接口用于定义对象的自然排序,而Comparator接口则用于自定义比较逻辑。 正则表达式...

    JS对象深度克隆实例分析

    需要注意的是,深度克隆并不是JavaScript的标准功能,而是通过各种技术手段实现的,因此在处理复杂数据结构时可能会遇到问题,如循环引用、函数、日期、正则表达式等非标准JSON格式的对象。此外,性能也是一个考虑...

    JAVA经典教材笔记

    - **对象克隆技术** - 克隆技术的意义:复制对象。 - 实现克隆的方式:实现Cloneable接口并重写clone()方法。 - **Arrays类** - Arrays类的作用:操作数组。 - Arrays类的常用方法:sort(T[] a)、copyOf(T[] ...

    克隆和序列化(Java )

    `克隆和序列化.txt`文件可能包含了上述两种技术的综合应用实例,展示了如何根据实际需求选择合适的对象复制方法。 总结来说,Java中的克隆和序列化是两个强大的工具,它们在数据持久化、对象复制以及网络通信等方面...

    java深度克隆

    4. **命令模式**:在实现命令模式时,为了记录命令执行前后的状态变化,可以使用深度克隆技术来保存命令执行前的状态。 综上所述,Java中的深度克隆是一种非常实用的技术,在很多场景下都有着广泛的应用。通过理解...

    2019_2020学年高中生物第二章克隆技术章末综合检测二浙科版选修3

    第一只胚胎细胞克隆羊的诞生标志着克隆技术的重大突破,随后,克隆羊“多莉”的出生更是将克隆技术推向了公众视野。正确的技术发展顺序是:细菌复制→DNA克隆→第一只胚胎细胞克隆羊的诞生→克隆羊“多莉”。 2. ...

    网页克隆器(源代码下载).zip

    在网页克隆器中,主要涉及的技术点可能包括以下几个方面: 1. **网络请求**:网页克隆器首先需要能够发送HTTP/HTTPS请求到目标服务器,获取HTML页面内容。这通常会使用到如Python的requests库或JavaScript的fetch ...

    PHP对象克隆clone用法示例

    在PHP编程语言中,对象克隆是一种通过克隆现有对象来创建对象新实例的技术。对象克隆通常用于需要复制对象属性或方法的状态时,以保证原始对象的独立性。在PHP中,对象的克隆可以通过使用`clone`关键字实现,而PHP的...

    深度克隆的事例代码

    下面我们将分别探讨这些语言中的深度克隆技术。 ### Java中的深度克隆 在Java中,我们可以利用序列化和反序列化来实现深度克隆。首先,我们需要让我们的类实现`Serializable`接口,然后创建一个`clone()`方法: `...

Global site tag (gtag.js) - Google Analytics