Java 对象的克隆
克隆:将已存在的对象复制一份,称为对象的克隆
若某个类的对象想要实现克隆,需要执行两个步骤:
(1)则必须实现Cloneable接口,该接口是一个空的接口,里面没有定义任何方法,
因此被称为标记接口。
(2)这个类还需要重写clone()方法。
代码示例
package com.seven.javaSE; public class CloneDemo { public static void main(String[] args) { Dog dd = new Dog("大黄",6); try { Dog dd2 = (Dog)dd.clone(); System.out.println(dd); System.out.println(dd2); System.out.println(dd==dd2);//false, dd和dd2的属性值和方法一模一样,但是内存地址不同,属于两个对象 } catch (CloneNotSupportedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } /* * 实现克隆操作就两个步骤: * (1)实现Cloneable接口 * (2)重写从Object类继承的clone()方法 */ class Dog implements Cloneable{ private String name; private int age; public Dog() { super(); } public Dog(String name, int age) { super(); this.name = name; this.age = 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() { return "[name=" + name + ", age=" + age + "]"; } @Override protected Object clone() throws CloneNotSupportedException { // TODO Auto-generated method stub return super.clone(); } }
本文来自博客园,作者:藤原豆腐渣渣,转载请注明原文链接:https://www.cnblogs.com/javafufeng/p/16307029.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix