(1) Java对象赋值
- Employee
e1=new Employee("李"); //Employee是一个自定义类 - Employee
e2=e1; //赋值对象 - e2.setName("王");//改变对象e2的名字
- System.out.println(e1.getName());
//打印e1的结果: 王
(2) Java对clone的支持
- protected
native Object clone() throws CloneNotSupportedExcepti on
- //错误代码
- public
class cloneTest{ -
public static void main(String[] args) throws CloneNotSupportedExcepti on{ -
Employee e1=new Employee(); //Employee是自定义类,也是Object的子类 -
Employee e2=(Employee)e1.clone(); //Error:CloneNotSupportedExcepti on -
} - }
-
- class
Employee{} //自定义类Employee
- class
Employee implements Cloneable{ -
public Object clone() throws CloneNotSupportedExcepti on{//重载clone()方法 -
Employee cloned=(Employee)super.clone(); -
return cloned; -
} - }
3) 深Clone和浅Clone
- //
具备浅克隆的Employee类 - class
Employee implements Cloneable{ -
public String name=""; -
public Date hireDay=null; -
-
public Object clone(){ -
Employee cloned=(Employee)super.clone(); -
return cloned; -
} - }
-
- Employee
orignal=new Employee(); - Employee
copy=orignal.copy();
- //具备深度克隆功能的Employee类
- class
Employee implement Cloneable{ -
public String name=""; -
private Date hireDay=null; -
-
public Object clone(){ -
Employee cloned=(Employee)super.clone(); //浅克隆 -
cloned.hireDay=(Date)hireDay.clone(); //克隆子对象 -
return cloned; -
} - }