W drugiej klasie chcę zrobić metodę add(String name, String number) która stworzy nowy obiekt i doda go do Arraylist. O ile z listą sobie poradzę, to trochę się zgubiłem na etapie tworzenia obiektu. Jak tworzę nowy obiekt za pomocą metody to musi on mieć przypisaną nazwę, a przecież jak dodam 2 obiekty z rzędu z innymi parametrami to jeśli użyję poniższego kodu, to powstaną 2 obiekty z taką samą nazwą obiektu(czyli nazwą 'position')
public class Phonebook {
public void add(String name, String number) {
Person position = new Person(name, number);
}
}
Podejrzewam że rozwiązanie problemu jest oczywiste tylko jakoś go nie widzę ᕙ(⇀‸↼‶)ᕗ
@Aureos: ale ta zmienna jest tworzona w metodzie, więc działa w kontekscie wywołania metody, więc za każdym razem będzie unikatowa (dla każdego wywyołania)
ps. może też zrobić tak: public class Phonebook { public void add(Person person)
Na przykład dodawanie w add() tworzonego obiektu od razu do kolekcji? ( ͡°͜ʖ͡°)
@Zelber: Ale przecież nie trzeba (po za tym, że to lepsze), tu chodzi o pewien błąd rozumienia czym jest obiekt i nazwa.
@LowcaG: Możesz wyjaśnić czemu nie trzeba tego obiektu gdzieś zapisać? Wydaje mi się, że jak wyjdzie z metody to już nie ma żadnego dostępu do tego obiektu(nazwą
Możesz wyjaśnić czemu nie trzeba tego obiektu gdzieś zapisać? Wydaje mi się, że jak wyjdzie z metody to już nie ma żadnego dostępu do tego obiektu(nazwą position można posługiwać się do klamry, a nie wiadomo w jakim bloku pamięci jest stworzony obiekt), więc jakiś ArrayList by się przydał w klasie Phonebook i tam dorzucać obiekt tworzony w metodzie add. Jeśli się mylę proszę o wyjaśnienie
Prosta ksiązka telefoniczna w Javie
W jednej klasie mam konstruktor
W drugiej klasie chcę zrobić metodę add(String name, String number) która stworzy nowy obiekt i doda go do Arraylist. O ile z listą sobie poradzę, to trochę się zgubiłem na etapie tworzenia obiektu. Jak tworzę nowy obiekt za pomocą metody to musi on mieć przypisaną nazwę, a przecież jak dodam 2 obiekty z rzędu z innymi parametrami to jeśli użyję poniższego kodu, to powstaną 2 obiekty z taką samą nazwą obiektu(czyli nazwą 'position')
Podejrzewam że rozwiązanie problemu jest oczywiste tylko jakoś go nie widzę ᕙ(⇀‸↼‶)ᕗ
@Aureos: Nie, powstaną dwa różne obiekty, które na chwilę będą przypisane do takiej nazwy. Nazwa to nie obiekt i obiekt to nie nazwa ;)
Dodajesz to listy obiekty a nie nazwy.
Na przykład dodawanie w add() tworzonego obiektu od razu do kolekcji? ( ͡° ͜ʖ ͡°)
ps. może też zrobić tak:
public class Phonebook {
public void add(Person person)
@Zelber: Ale przecież nie trzeba (po za tym, że to lepsze), tu chodzi o pewien błąd rozumienia czym jest obiekt i nazwa.
@LowcaG: Możesz wyjaśnić czemu nie trzeba tego obiektu gdzieś zapisać? Wydaje mi się, że jak wyjdzie z metody to już nie ma żadnego dostępu do tego obiektu(nazwą
@1_login_1: Jasne jasne, ja się
Jako pomoc dla OPa dorzucę, że te nazwy to są dla ludzi i w tym wypadku można nawet olać nazwę czyli zamiast tak:
{
Person position = new Person(name,