本帖最后由 bnufq 于 2011-12-10 16:56:24 编辑

解决方案 »

  1.   

    没有override 
    public Object clone()方法
      

  2.   

    我继承接口的时候不是已经继承了cloneable了吗?如果我在C1里面也继承clone方法,好像会出现别的错误
      

  3.   

    实现 Cloneable接口class XXX implements Clonable {    @Override public Object clone() { return super.clone(); }
    }必须的
      

  4.   

    必须override clone方法。Object里的 clone是protected修饰的。实现Clonable接口必须重写为public。
      

  5.   

    主要是因为我想使用接口调用clone方法,而接口里面是不能override clone方法的,在具体实现的类中,我已经覆盖了clone方法。还有一点:cloneable和其他接口有点区别,他这里面没有clone方法,所以我不知道该怎么写,请教。谢谢回答。
      

  6.   

    clone方法在Object类中,不过是protected限定interface InA extends Cloneable {
        public void method1();
        public Object clone() throws CloneNotSupportedException;
    }class C1 implements InA {
        public void method1(){}
        public Object clone() throws CloneNotSupportedException {return super.clone();}
    }public class C2 {
        public static void main(String[] args) throws Exception {
            InA a = new C1();
            Object b = a.clone(); //出错,不能这样写,需要怎么实现这个功能?
            System.out.println(a);
            System.out.println(b);
        }
    }
      

  7.   

    这个interface InA extends Cloneable中的extends Cloneable是不是没意义啊?还是需要在接口里面写上clone方法