Java的所有类都默认继承java.lang.Object类,在java.lang.Object类中有一个方法clone()。JDK API的说明文档解释这个方法将返回Object对象的一个拷贝。要说明的有两点:一是拷贝对象返回的是一个新对象,而不是一个引用。二是拷贝对象与用 new操作符返回的新对象的区别就是这个拷贝已经包含了一些原来对象的信息,而不是对象的初始信息。
clone方法
根据已存在的对象构造一个新的对象
在根类Object 中被定义为protected,所以需要覆盖为public
实现Cloneable 接口,赋予一个对象被克隆的能力(cloneability)
class MyObject implements Cloneable
{ //…
}
getClass方法
final 方法,返回一个Class对象,用来代表对象隶属的类
通过Class 对象,你可以查询Class对象的各种信息:比如它的名字,它的基类,它所实现接口的名字等。
void PrintClassName(Object obj) {
System.out.println("The Object's class is " +
obj.getClass().getName());
}