Przypisanie dwóch instancji tej samej klasy

0

Przejdę do konkretów. Mam taki najprostszy na świecie programik o nazwie Obiekty:

Uruchomienie tego kodu wyrzuca w konsoli: Porownanie Dominikow: Dominik@15db9742. Co to tak naprawdę jest? Po @ to jakiś adres?
Z tym podawaniem dwójki do konstruktorów obu obiektów to bez różnicy, można podać zupełnie różne wartości, nie chodzi o to, żeby obiekty miały taką samą "zawartość". Nie chcę przyrównywać znakiem równości tych dwóch instancji, bo wiem, że do tego służą inne funkcje, ciekawi mnie po prostu co takie zwykłe przyrównanie zwraca.
Z góry dzięki :).

1
  1. = to PRZYPISANIE a nie porównanie. Więc "zwróci" ci obiekt stojący po stronie prawej a że łączysz go ze stringiem to wywoła sie na nim toString() z klasy Object.
  2. To coś po znaku @ to hashcode
2

Ale Ty w ogóle nie porównujesz. Przypisujesz do zmiennej doniu1 wartość zmiennej doniu2.

1

Otwieramy szefa wszystkich szefów czyli klasę Object a tam:

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
0

No właaaaśnie.... <facepalm>. Nie mam pojęcia, skąd mi się wzięło, że to porównanie :D. A z tym hashcodem to bardzo ciekawa sprawa, nie domyśliłbym się.
Wielkie dzięki za odpowiedzi!

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