关于java克隆

一个类实现了cloneable接口如果不重写就不能调用clone函数这是为什么?就比如下面呢个不重写clone就不能调用clone函数
package cn.edu.apter13;

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克隆
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。