Java常用类库--对象克隆技术clone

class Person implements Cloneable{	// 实现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 CloneDemo01{
	public static void main(String args[]) throws Exception{
		Person p1 = new Person("张三") ;
		Person p2 = (Person)p1.clone() ;//p2为被实例化
		p2.setName("李四") ;
		System.out.println("原始对象:" + p1) ;
		System.out.println("克隆之后的对象:" + p2) ;
	}
};

时间: 2024-08-01 23:33:05

Java常用类库--对象克隆技术clone的相关文章

Guava v20.0-rc1,Google 的 Java 常用类库

Guava v20.0-rc1 发布了,Google 的 Java 常用类库.该版本主要更新内容是设置版本号为20.0 RC1. 详细改进内容请看:https://github.com/google/guava/compare/v20.0-rc1...master 下载地址: Source code (zip) Source code (tar.gz) Guava 中文是石榴的意思,该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库. 目前主要包含: com

JAVA常用类库简介(转)

Java编程语言中为方便学习者学习,编制了许多类,这些类已经经过测试,都是我们编程的基础.如果不利用这些已存在的类,我们的编程工作将变得异常复杂并且效率低下.所以我们应尽可能多的掌握Java基本类库的内容.类库中的类按照其用途归属于不同的包中. 1.java.lang包 java.lang包 是Java中最常用的包,程序不需要注入,就可以使用该包中的类,利用包中的类可以设计最基本的Java程序. 2.java.awt包 java.awt包中的类提供了图形界面的创建方法,包括按钮.文本框.列表框.

Google的Java常用类库 Guava

Guava 中文是石榴的意思,该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库. 1. 基本工具 [Basic utilities] 让使用Java语言变得更舒适 1.1 使用和避免null:null是模棱两可的,会引起令人困惑的错误,有些时候它让人很不舒服.很多Guava工具类用快速失败拒绝null值,而不是盲目地接受 1.2 前置条件: 让方法中的条件检查更简单 1.3 常见Object方法: 简化Object方法实现,如hashCode()和toSt

Java常用类库--实例操作--取得当前日期

在开发中经常需要取得日期,而且每次取得日期的时候代码都会重复,所以既然是重复的代码就可以将其定义成一个类,以方便重复调用,但是在操作的时候有一点土鳖需要注意:如果月份是1月,则应该显示01,但是如果是01的话,则数字肯定会忽略掉0. 1.基于Calendar类 import java.util.* ; // 导入需要的工具包 class DateTime{ // 以后直接通过此类就可以取得日期时间 private Calendar calendar = null ; // 声明一个Calenda

Java常用类库--日期操作类

1.Date类 在java.util包中定义了Date类,实用简单,直接输出其实例化对象即可. 如果希望按照自己的格式输出时间,可以使用Calendar类. import java.util.Date ; public class DateDemo01{ public static void main(String args[]){ Date date = new Date() ; // 直接实例化Date对象 System.out.println("当前日期为:" + date) ;

Java常用类库--Math、Random、NumberFormat、DecimalFormat、BigInteger、BigDecimal

1.Math类 表示数学操作,例如:平方根.四舍五入等等. public class MathDemo01{ public static void main(String args[]){ // Math类中的方法都是静态方法,直接使用"类.方法名称()"的形式调用即可 System.out.println("求平方根:" + Math.sqrt(9.0)) ; System.out.println("求两数的最大值:" + Math.max(1

Java常用类库--正则表达式(Pattern类、Matcher类)

1.认识正则 public class RegexDemo01{ public static void main(String args[]){ String str = "1234567890" ; // 此字符串由数字组成 boolean flag = true ; // 定义一个标记变量 // 要先将字符串拆分成字符数组,之后依次判断 char c[] = str.toCharArray() ; // 将字符串变为字符数组 for(int i=0;i<c.length;i+

Java常用类库--Arrays、比较器(comparable、Comparator)

1.Arrays类 Arrays表示数组的操作类,直接定义在java.util包中 import java.util.* ; public class ArraysDemo{ public static void main(String arg[]){ int temp[] = {3,4,5,7,9,1,2,6,8} ; // 声明一个整型数组 Arrays.sort(temp) ; // 进行排序的操作 System.out.print("排序后的数组:") ; System.out

Java常用类库--国际化程序

国际化程序: 国际化的操作就是指一个程序可以同时适应多门语言,即:如果现在程序的使用者是中国人,则会以中文为显示文字,如果现在程序的使用者是英国人,则会以英语为显示的文字,也就是说可以通过国际化操作,让一个程序适应各个国家的语言要求.那么,对于各个国家来说,每一个程序的代码是不会有任何变化的,但是只是其显示文字上有所差别. 国际化程序实现的思路:程序与显示相分离,根据不同的Locale指定的区域找到不同的资源文件并根据其key取得对应的value. 1.Locale类 2.ResourceBun