Klonowanie to proces tworzenia kopii obiektu. Aby utworzyć kopię, należy wywołać metodę clone() w klasie implementującej interfejs Cloneable. 1. Znaczenie klonowania 2. Rodzaje klonowania 3. Typ zwracany przez metodę clone() 4. Alternatywy dla klonowania 5. Pytania dotyczące klonowania Chociaż wszystkie klasy dziedziczą metodę clone() z klasy Object, do klonowania jest ona konieczne również do wdrożenia interfejsu Cloneable. Jeśli spróbujesz wywołać metodę clone() bez implementowania interfejsu, otrzymasz wyjątek CloneNotSuppoted. Wystarczy ponownie załadować metodę clone() i zaimplementować interfejs Cloneable. Interfejs Cloneable jest interfejsem tokenowym, podobnie jak interfejs Serializable.
Znaczenie klonowania
Oto przykładowy kod wywołujący funkcję clone() bez zaimplementowanego interfejsu Cloneable.package example.java; public class Test { public static void main(String[] args) { Test b1 = new Test(); try { Test b2 = (Test)b1.clone(); }catch (CloneNotSupportedException e) { e.printStackTrace(); } } }
wniosek:
Dane wyjściowe: java.lang.CloneNotSupportedException: example.java.Test w java.lang.Object.clone (metoda natywna) w example.java.Test.main (Test.java:8)
GO TO FULL VERSION