大家都知道一般任意一个类都默认从Object类继承,而Object类的clone方法是protected的   然而我们在任意一个类  比如我写了个Int类   在类中覆盖clone方法 然后再方法中这样写Object。clone()报错。而用super才行  为什么呢?Int类不是默认继承Object类吗?

解决方案 »

  1.   

    实现 Cloneable 接口才行class XXX implements Cloneable {
     
        @Override public Object clone(){
            ...
        }
    }
      

  2.   

    protected的方法不能通过类名引用,可以super继承时可以继承为public
      

  3.   

    实现 Cloneable 接口才行
    你既然理解了,跟大家分享一下吧
      

  4.   

    那样肯定报错 啊
    Object.clone()静态方法才可以这样调用吧
      

  5.   

    要实现Cloneable接口~
    还要通过super.clone()调用~
      

  6.   

    。。我理解的是   clone()方法不是静态方法   所以不能用类名来引用    而必须用对象   而我们创建一个类   相当于在它里边还创建了他的父类   而这个super关键字就是指Int类的父类Object类的对象   不知道我这么理解ok吗?  呵呵呵