範例
public class ExampleClone {
public ExampleClone() {
super();
elements = new int[ 1 ];
}

public void setElements( int value ) {
for ( int i = 0; i < elements.length; i++ ) {
elements[ i ] = value;
}
}

public void print() {
for ( int i = 0; i < elements.length; i++ ) {
System.out.println( elements[ i ] );
}
}

public Object clone() throws CloneNotSupportedException {
ExampleClone clone = (ExampleClone)super .clone();
clone.elements = new int[ elements.length ];
for ( int i = 0; i < elements.length; i++ ) {
clone.elements[ i ] = elements[ i ];
}
return clone;
}

private int[] elements;
}

解決方案
請使用 implements Cloneable 宣告,或變更 clone() 方法的名稱。

public class ExampleClone implements Cloneable {

public ExampleClone() {
super();
elements = new int[ 1 ];
}

public void setElements( int value ) {
for ( int i = 0; i < elements.length; i++ ) {
elements[ i ] = value;
}
}

public void print() {
for ( int i = 0; i < elements.length; i++ ) {
System.out.println( elements[ i ] );
}
}

public Object clone() throws CloneNotSupportedException {
ExampleClone clone = (ExampleClone)super .clone();
clone.elements = new int[ elements.length ];
for ( int i = 0; i < elements.length; i++ ) {
clone.elements[ i ] = elements[ i ];
}
return clone;
}

private int[] elements;
}