关于java克隆 的

为什么这个类实现了cloneable接口不重写clone函数就不能调用clone函数

public class _13_11_Octagon
{
public static void main(String[] args) throws CloneNotSupportedException
{
Octagon octagon1 = new Octagon(5);
System.out.println(octagon1.toString());
Octagon octagon2 = (Octagon) octagon1.clone();
System.out.println(octagon1.compareTo(octagon2));

}

}

class Octagon extends GeometricObject implements Cloneable
{
private double side;

Octagon()
{
    this(1);
}

Octagon(double side)
{
    this.side = side;
}

@Override
public double getArea()
{
    return (2 + 4 / Math.pow(2, 0.5)) * side * side;
}

@Override
public double getPerimeter()
{
    return 8 * side;
}

@Override
public String toString()
{
    return "area:" + getArea() + "   Perimeter :" + getPerimeter();
}

@Override
protected Object clone() throws CloneNotSupportedException
{
    return super.clone();
}

}


超好的对java克隆的讲解
http://www.javaeye.com/topic/483469......
答案就在这里:java克隆
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

实现cloneable,是一个标识,就像实体要实现可序列化,要实现Serializable