Klonowanie poprzez interfejs Cloneable. I słówko super.

0

Chciałbym poprosić jeśli istnieje taka możliwość. O wytłumaczenie na konretnym przykładzie. Dlaczego użyto tu słówka kluczowego - super.

[code]
class TestClone implements Cloneable {
int a;
double b;
// Ta metoda wywołuje metodę clone() klasy Object.
TestClone cloneTest() {
try {
// wywołanie clone() z Object
return (TestClone) super.clone();
} catch(CloneNotSupportedException e) {
System.out.println("Klonowanie niedozwolone.");
return this;
}
}
}

class CloneDemo {
public static void main(String args[]) {
TestClone x1 = new TestClone();
TestClone x2;

x1.a = 10;
x1.b = 20.98;

x2 = x1.cloneTest(); // klonowanie x1

System.out.println("x1: " + x1.a + " " + x1.b);
System.out.println("x2: " + x2.a + " " + x2.b);

}
}
[/code]

Będę wdzięczny za dość jasne i konkretne wytłumacznie. Tutaj - http://javastart.pl/programowanie-obiektowe/dziedziczenie-i-konstrukcja-super/

Jest to jakieś jaśniejsze dla mnie. A dlaczego w tym przykładzie zostało to użyte?

0

http://www.go4expert.com/articles/object-cloning-java-t5424/ > tu masz opisane. Object.clone służy do wykonania "płytkiej" (bez zależności) kopi obiektu po stronie JVM i pozwala na nieużywanie konstruktora.

1 użytkowników online, w tym zalogowanych: 0, gości: 1