blok inicjacyjny [?]

0

mam następujący problem... posiadam obiekt pewnej klasy

Class k = new Class(p1, p2, p3);

tworze obiekt kolejnej klasy, ktorego jednym z parametrow jest obiekt klasy Class

Class2 n = new Class(p1, p2, k);

wywoluje metody np. takie:

k.zmien1(p1);
k.zmien2(p2);
k.zmien3(p3);

dalej tworze nowy obiekt:

Class2 m = new Class(p1, p2, k);

i np. wywoluje metody:

 System.out.println(n); // w tym wyswietla rowniez niezmieniony obiekt k
System.out.println(m); // w tym wyswietla rowniez odpowiednio zmieniony obiekt k 

i tutaj sie pojawia moje pytanie... w jaki sposob mozna stworzyc obiekt klasy Class w taki sposob a zeby zachowal on pierwotne wartosci swoich atrybutow... myslalem tutaj o jakims inteligentnym zastowaniu bloku/ow inicjacyjnych... ale nawet nie wiem w jaki sposob mozna byloby z nich w tym przypadku skorzystac. dodatkowo klasy Class i Class2 maja z gory ustalana ilosc atrybutow (brak mozliwosci zmniejszenie i zwiekszenia ich ilosci).

0

możesz zastosować skopiowanie(sklonowanie) parametrów które podajesz

0

poczytaj o metodzie clone w javie i tzw. deep i shallow copy

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