`
mybolide
  • 浏览: 14853 次
文章分类
社区版块
存档分类
最新评论

java 引用数据类型实现 对象的克隆

 
阅读更多

对创建的bean文件实现Cloneable接口

public class user implements Cloneable{
	private String id;
	private String uname;
	private String uage;

	public user() {

	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getUname() {
		return uname;
	}

	public void setUname(String uname) {
		this.uname = uname;
	}

	public String getUage() {
		return uage;
	}

	public void setUage(String uage) {
		this.uage = uage;
	}

	public user(String id, String name, String age) {
		this.id = id;
		this.uname = name;
		this.uage = age;
	}

	public Object clone() {
		Object o = null;
		try {
			o = super.clone();
			return o;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
}



public class test12 {
	public static void main(String[] args) {
		String s = "1";
		String s2 = s;
		s2 = "2";
		System.out.println(s);

		user u1 = new user("1", "name", "12");
		user u2 = new user();
		user u3 = (user) u1.clone();
		u2 = u1;
		u2.setId("3");
		System.out.println(u3);
		System.out.println(u1);
		System.out.println(u2);
	}
}


1.重定基类的clone方法并声明为public类型。
2.在派生类的clone方法中调用super.clone()方法实现对象的克隆。
3.在派生类中实现Cloneable接口。

分享到:
评论

相关推荐

    java设计模式【之】原型模式、深拷贝与浅拷贝【源码】【场景:克隆羊】

    * 2)成员变量是,引用数据类型,比如:数组、类的对象。此时浅拷贝是引用传递,也就是只是将该成员变量的引用值(内存地址)复制一份给新的对象。两个对象中的该成员变量执行的是同一个地址,其中一个对象的值修改...

    java最新面试题50道精讲

    9 、解释一下Java中的基本数据类型和引用数据类型的区别是什么? 10、解释一下Java中的垃圾回收机制是什么,以及如何配置垃圾回收器? 11、解释Java中的基本语法,包括变量、数据类型、控制结构等。 12、解释Java中...

    java——让学员少走弯路

    Java的一些基本概念,Java的起源、为什么我们要...Java的常用包,"=="和"equals"的用法,基本数据类型与引用类型,对象的克隆。 数组的复制与排序,Runtime类与Process类,Class类与反射API,Runtime类与单例设计模式。

    Java面试资料之IO相关

    本文将从流的分类、流的转换、对象序列化、字节流和字符流的区别、对象克隆等方面对 Java IO 进行总结。 1. 流的分类 Java 中有两种类型的流:输入流(inputStream)和输出流(outputStream)。输入流用于从外部...

    Java设计模式之原型模式.docx

    浅克隆 :克隆出来的对象实例一模一样,对象的属性如果是引用数据类型,那么他么指向同一个地址值。无论是修改原来的对象,还是修改克隆出来的对象,只要是引用数据类型修改了,那么两个对象同时被修改,因为他们...

    的Java工程师面试题.doc

    1. 对象克隆:如果一个对象仅仅声明实现了cloneable接口,但是不声明clone方法,外部无法调用其clone方法。 2. 对象比较:equals()方法判定两个对象的内容和类型是否一致,==操作符判定两个对象的引用值是否指向同一...

    Java设计模式-原型模式详解

    Java 设计模式 - 原型模式详解 原型模式是 Java 设计模式之一,它用于创建对象时,...原型模式是一种有效的创建对象克隆的方法,适用于需要创建多个相同类型的对象时。但是,需要注意原型模式的限制和实现的复杂度。

    Java开发详解.zip

    010301_【第3章:Java基础程序设计】_Java数据类型笔记.pdf 010302_【第3章:Java基础程序设计】_运算符、表达式与语句笔记.pdf 010303_【第3章:Java基础程序设计】_判断与循环语句笔记.pdf 010401_【第4章:数组与...

    Java2实用教程.rar

    10 10序列化与对象克隆 10 11文件锁FileLock 10 12Process类中的流 10 13带进度条的输入流 习题 第11章Java网络的基本知识 11 1使用URL 11 2读取URL中的资源 11 3显示URL资源中的HTML文件 11 4处理超链接 11 5...

    java 编程入门思考

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

    Java初学者入门教学

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

    200个Java经典面试题总结附带答案.docx

    10. 如何实现对象克隆?(使用 `clone` 方法) Java IO 流 11. Java 中 IO 流分为几种?(输入流、输出流、字符流、字节流) 12. BIO、NIO、AIO 有什么区别?(BIO 是阻塞 IO,NIO 是非阻塞 IO,AIO 是异步 IO) ...

    java联想(中文)

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

    javascript克隆对象深度介绍

    js一般有两种不同数据类型的值: 基本类型(包括undefined,Null,boolean,String,Number),按值传递; 引用类型(包括数组,对象),按址传递,引用类型在值传递的时候是内存中的地址。 克隆或者拷贝分为2种: 浅度...

    JAVA_Thinking in Java

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

    Thinking in Java简体中文(全)

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

    Thinking in Java 中文第四版+习题答案

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

    Java2核心技术.part5

    3.3数据类型 3.3.1整型 3.3.2浮点型 3.3.3 char类型 3.3.4 boolean类型 3.4变量 3.4.1初始化变量 3.4.2常量 3.5运算符 3.5.1自增运算符与自减运算符 3.5.2关系运算符与boolean运算符 ...

    JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

Global site tag (gtag.js) - Google Analytics