Távolítsa el az
implements
Cloneable deklarációt, vagy valósítsa meg
megfelelően a clone() objektumot.
public OverrideClone_Solution() {
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 {
OverrideClone_Solution clone = (OverrideClone_Solution)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;
public static void main( String[] args ){
OverrideClone_Solution original = new OverrideClone_Solution();
original.setElements( 1 );
OverrideClone_Solution clone = null;
try {
clone = (OverrideClone_Solution)original.clone();
System.out.println( "Clone before modification of original" );
clone.print();
original.setElements( 2 );
System.out.println( "Clone after modification of original" );
clone.print();
}
catch ( CloneNotSupportedException e ) {
e.printStackTrace();
}
}
|
|