Odwołanie do obiektów

0

Czesc
Jak odwoływać się do obiektów(ich metod, pól), które utworzyłem w następujący sposob?

		policz obiekt;               // obiekt klasy policz, ktora costam liczy     
		for(int i=0;i<4;i++)
			obiekt = new policzt(); //nowa instancja klasy policz
                                                                     

Chciałbym np sprawdzić co zawierają pola obiektu, który został stworzony w 2 kolejności.

0

Po zakończeniu pętli for nie możesz.

                policz[] obiekty = new policz[4];               // obiekt klasy policz, ktora costam liczy     
                for(int i=0;i<4;i++)
                        obiekty[i] = new policz(); //nowa instancja klasy policz

do drugiego elementu odwołujesz się obiekty[1]

0

Dodam tylko, że policz obiekt nie jest jako to napisałeś w komentarzu obiektem klasy policz.
I stąd jest mnóstwo błędów początkujących.
Dlatego dla takich zmiennych słowo obiekt, to nie najlepsza nazwa ponieważ zwyczajnie myli co jest czym.
Jest to zmienna trzymająca referencję (rodzaj wskaźnika) na właściwy obiekt gdzieś w pamięci. To co robiłeś w swoim kodzie w pętli, to nadawałeś tej zmiennej "obiekt" referencje kolejnych obiektów (niszcząc poprzednie referencje).

"Bo" podał Ci przykład zmieniając zmienną na tablicę referencji do obiektów, której elementom przypisywane są referencje kolejnych obiektów tworzonych przez operator new. W ten sposób nie nadpisuje się referencji kolejnych obiektów w tej samej zmiennej.
Tak więc ściśle rzecz biorąc w Javie nie ma zmiennych obiektowych, chociaż można taką utożsamiać z konkretnym obiektem jeżeli w deklaracji takiej zmiennej będzie modyfikator final. Np. final Toyota mojSamochod = new Toyota(Corolla, "GD873F"); ponieważ taka zmienna nie może zmienić swojej wartości, czyli referencji do konkretnego obiektu Toyota(Corolla, "GD873F").
W przeciwnym wypadku kolejne podstawienie obiektu pod zmienną mojSamochod sprawi, że będzie ona reprezentowała zupełnie inny obiekt.

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