java 的自我克隆

/*自定义类实现“克隆”的步骤如下
 * 1.自定义类实现Cloneable接口。这是一个标记性的接口,实现该接口的对象可以实现“自我克隆”,接口里没有定义任何方法
 * 2.自定义类实现自己的clone()方法
 * 3.实现clone()方法是通过super.clone()方法;调用Object实现的clone()方法来得到该对象的副本,并返回该副本。
 * 
 * 
 * */


package seven1;
class Address
{
String detail;
public Address(String detail)
{
this.detail=detail;
}
}


//实现Cloneable接口
class User implements Cloneable
{
   int age;
   Address address;
   public User(int age)
   {
  
  this.age=age;
  address=new Address("广州天河");
  //通过调用super.clone()
   }
   public User clone() throws CloneNotSupportedException
   {
  return (User)super.clone();
   }
}


public class CloneTest {


public static void main(String[] args) throws CloneNotSupportedException
{
// TODO 自动生成的方法存根
User u1=new User(29);
//clone得到u1对象的副本
User u2=u1.clone();
//判断u1,u2是否相等
System.out.println(u1==u2);
//判断u1,u2的address是否相同
System.out.println(u1.address==u2.address);




}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值