`

Object Clone

    博客分类:
  • JAVA
阅读更多
package test;
public class ClassTest implements Cloneable{
public String name;
public int age;
public ClassTest(String name,int age) {
this.setName(name);
this.setAge(age);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
System.out.println(this.getName() + ";" + this.getAge());
return "";
}
/**
* 若想在其它类中也能够克隆该类,必须实现该方法
* 若不实现,克隆只能在该类中使用
* 如果在没有实现 Cloneable 接口的实例上调用 Object 的 clone 方法,则会导致抛出 CloneNotSupportedException 异常。
* 按照惯例,实现此接口的类应该使用公共方法重写 Object.clone(它是受保护的)。
*/
public ClassTest Clone() throws Exception{
return (ClassTest)this.clone();
}
public static void main(String[] args) throws Exception{
ClassTest c = new ClassTest("zhang", 23);
ClassTest c2 = (ClassTest)c.clone();
c2.setName("quan");
System.out.println(c);
System.out.println(c2);
}
}
分享到:
评论

相关推荐

    深入理解JavaScript中的对象复制(Object Clone)

    在深入探讨JavaScript中的对象复制(Object Clone)时,首先需要明确JavaScript中的对象复制分为浅复制(Shallow Copy)和深复制(Deep Copy)。浅复制指的是创建一个新对象,这个对象有着原始对象属性值的一份精确...

    深化理解JavaScript中的对象复制(Object Clone)_.docx

    Object.prototype.clone = function() { var copy = (this instanceof Array) ? [] : {}; for (let attr in this) { if (!this.hasOwnProperty(attr)) continue; copy[attr] = (typeof this[attr] == "object") ...

    java Clone

    `clone`方法存在于Java的`java.lang.Object`基类中,所有Java类都默认继承自`Object`类,因此所有类都具备`clone`能力。 首先,要使用`clone`方法,我们需要确保类实现了`Cloneable`接口。`Cloneable`接口并没有...

    clone()示例源码

    通常,为了能够正确地克隆一个对象,你需要确保类的每个属性都是可克隆的,并且覆盖`Object`类中的`clone()`方法,声明为`protected`或`public`,因为默认它是`protected`的。 ```java public class MyClass ...

    java_clone用法

    public Object clone() throws CloneNotSupportedException { return super.clone(); } } // 示例代码 User user = new User(); user.name = "user"; user.age = 20; Account account = new Account(); ...

    java clone的小例子

    首先,`clone()`方法是Java Object类的一个成员方法,这意味着所有Java类都隐式地继承了这个方法。它的主要作用是创建并返回当前对象的一个副本,也就是浅拷贝。浅拷贝意味着新创建的对象拥有原始对象的属性值,但...

    C#中Clone一个对象的值到另一个对象案例 c#经典案例.pdf

    public object Clone() { return this.MemberwiseClone(); } } ``` 在上面的代码中,我们使用了 MemberwiseClone 方法来实现浅复制。这个方法将返回一个新对象,其中所有字段的值都是原始对象的副本。但是,这...

    Java深浅clone

    protected Object clone() throws CloneNotSupportedException { Person clonedPerson = (Person) super.clone(); clonedPerson.address = (Address) this.address.clone(); // 假设Address也实现了Cloneable ...

    clone()方法示例(对象克隆)_对象克隆_nervouse78_源码

    `clone()`方法是Java中的`Object`类的一个成员函数,它的作用是创建并返回当前对象的一个副本,这个副本与原对象具有相同的属性值。但是,需要注意的是,`clone()`方法返回的是一个浅拷贝,即如果对象的属性包含其他...

    java object 之clone方法全面解析

    Java中的`clone()`方法是Object类的一个成员方法,它提供了创建一个对象副本的功能。这篇文章将深入探讨`clone()`方法的工作原理、使用场景以及浅拷贝(shallow clone)与深拷贝(deep clone)的区别。 首先,让...

    Java Clone(类的复制)实例代码

    protected Object clone() throws CloneNotSupportedException { A o = null; try { o = (A) super.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } o.str = new String[2]; // ...

    关于java clone的一些基本的概念

    首先,`clone`方法是Java `Object`类的一个成员方法,定义为`protected Object clone() throws CloneNotSupportedException`。这意味着所有Java类都隐式地继承了这个方法,尽管默认的`clone`实现仅仅是一个浅拷贝。...

    clone type

    在Java中,`clone()`方法是`Object`类的一个成员,所有Java类都默认继承自`Object`,因此所有类都有`clone()`方法。但是,直接调用可能会抛出`CloneNotSupportedException`,除非类实现了`Cloneable`接口。实现`...

    Object类和Scanner类

    - **`protected Object clone()`**: - `clone` 方法用于创建对象的一个副本。 - 实现 `Cloneable` 接口并重写 `clone` 方法可以确保复制过程的安全性。 #### 二、Scanner类简介 除了 `Object` 类之外,给定内容...

    src01 Object

    - **方法签名**:`protected native Object clone() throws CloneNotSupportedException;` - **功能**:创建并返回此对象的一个副本。这是一个本地方法,如果类没有实现`Cloneable`接口,则抛出`...

    Java深复制与浅复制&Clone

    在Java中,浅复制可以通过`Object`类的`clone()`方法实现。但是,`clone()`方法默认的是浅复制,且需要被克隆的对象实现`Cloneable`接口。以下是一个简单的例子: ```java public class MyClass implements ...

    Object.doc

    本文将详细介绍 `Object` 类中的一些关键方法,包括 `equals`、`hashCode`、`toString`、`finalize` 和 `clone` 方法。 #### equals 方法 `equals` 方法用于测试两个对象是否相等。在 `Object` 类中,默认的实现是...

    JAVA_高级特性(hashCode,clone,比较器,Class反射,序列化)

    实现 `clone` 方法时,通常会调用父类 `Object` 的 `clone` 方法,并强制转换类型。 示例代码展示了如何在 `Person03` 类中实现 `clone` 方法: ```java public Object clone() throws CloneNotSupportedException...

Global site tag (gtag.js) - Google Analytics