Cloneable接口分析,学习了

先说声Sorry,这两天工作有点忙,早上把昨天的补下。

项目中,Bean类实现Cloneable接口。这是用来做什么的,What?,克隆?,于是上网查了下资料。

Cloneable是一个标记接口,本身里面是没有任何内容的。

Package java.lang;

public interface Cloneable {

}

java中clone的定义:

1.x.clone() != x  返回true 说明clone之后不是同一个对象

2.x.clone().getClass() == x.getClass()  返回true 说明clone之后是同一个Class

3.x.equals.(x.clone())  返回false obj 中equals内部是通过 ‘==’ 来比较对象的

clone方法是在Object中定义的,类型是Protected,只有实现了Cloneable接口,才可以在该类的实例上调用clone方法。

否则抛CloneNotSupportException.

Object中默认实现的是浅拷贝,如果要实现深拷贝的话,需要对类中可变域生成新的实例。例子如下:

pubilc class Unsupported{
   public Object clone(){
   Object obj;
        try {
        obj=super.clone();
  }
      catch (CloneNotSupportedException ex) {
        ex.printStackTrace(); //Exception was thrown
     }
 return obj;//返回的是null
   }
}
加上 implements Cloneable 就可以了.

      

     今天早上查东西的时候,看到了一个人物介绍, 楼天城, “楼教主”  ,想必大家早就熟悉了吧,可以说是中国编程界的第一人,小弟不才,入行不深,今天方深入了解了     下,看完之后,膜拜二字油然而生,圈内称之为 ‘天才’ 并不为过。 

     我只想说,大神,别跑,肩膀借我踩下嘛!

     

     最后附上每日一图,大家一起加油! KEEP GOING,DON'T SETTLE!

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值