Referencja do obiektów

0

Witam!
Mam problem z referencją do powstałych obiektów. W programie tworzę obiekty na podstawie stworzonej klasy box. Zmienna (int n) wskazuje aktualną liczbę obiektów typu box, kiedy tworzymy nowy obiekt zmienna inkrementuje się i tworzy Box mybox$n = new Box(). Problem pojawia się gdy próbuje odwołać się do któregoś ze stworzonych już obiektów. Przez zmienną (int x) chcę odwołać się do np. mybox$x, ale środowisko wyrzuca mi błąd. Gdzie leży błąd? Podejrzewam że przyczyną jest moja nikła znajomość Javy i że robię coś źle lub źle rozumiem obiektowość, ale nie mogę znaleźć pomocy na żadnym forum ani w literaturze. Proszę o pomoc :)

1

Podejrzewam, że tak się nie da.

Dlaczego nie przechowasz tych obiektów w jakiejś kolekcji(np. lista) ?

0

Myślałem że to najprostszy sposób i nie próbowałem rozwiązać tego inaczej, teraz zastanawiam się nad alternatywą, skoro taki sposób jest niemożliwy :) dziękuję za pomoc i zainteresowanie

1

Nie możesz odwołać się do do obiektu, Box poprzez zmienną x (bo ta jest typu int). Obiekt, który stworzyłeś a który nazywa się myBox jest typu Box. Zmienną referencyjną jest właśnie myBox. Według tego co napisałeś to zmienna x pozwoli Ci na uzyskanie informacji ie owych obiektów posiadasz. Jeżeli chcesz trzymać w jednym miejscu wiele obiektów tego samego typu, skorzystaj z tablic.

0

No tak, stworzyć tablicę z tymi Boxami. Wieki mógłbym myśleć nad tym i nie wpaść na to :) Działa, referencja też działa. Bardzo dziękuję za pomoc!!!

0

Mając klasę Box, możesz stworzyć pole np. public static int numberOfBoxes. Pole to możesz inkrementować w konstruktorze, potem sprawdzasz liczbę obiektów poprzez odwołanie Box.numberOfBoxes. Myślę, że tak też powinno działać.

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