Cloneable接口分析,学习了

来源:互联网 发布:境外网络代理 编辑:程序博客网 时间:2024/05/18 01:29

先说声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
原创粉丝点击