Chciałam wypisać dane obiektu, nie dałam jednak konstruktorów i to chyba stąd taki wynik, ale zastanawia mnie co to jest.
To jest kod wynikowy:
student@1690726
W kolejnych wywołaniach było kolejno:
student@1f33675
student@1f33675
student@1690726
student@1690726
Domyślam się że ten numer to adres w pamięci, ale dlaczego wcześniej jest nazwa klasy a pośrodku (lepiej tu pasuje pomiędzy) @.
I dalsze pytaniana początku program dość długo myślał i "wypluł" kod wynikowy za drugim też, potem to już szło szybciej, domyślam się że na początku musiał znaleźć odpowiednie miejsce, potem je sprawdził, nie było w tym to szukał dalej znalazł i następnym razem sprawdzał te dwa Od razu.
Dlaczego te adresy się powtarzają?
To jest mój kod:
public class student{
String imie;
String nazwisko;
int numer_indeksu;
public static void main(String[] args)
{
student Maciek=new student();
//Maciek = new student("Maciek","Nowak",23123123);
Maciek.imie="Maciek";
Maciek.nazwisko="Nowak";
Maciek.numer_indeksu=12313;
System.out.println(Maciek);
}
}
Stworzyłam drugi obiekt i zrobiłam tak samo jak z poprzednim tylko inne dane dałam.
Uzyskałam to:
student@7c6768
student@1690726
Tym razem mimo że pojawił się nowy adres, program zadziałał błyskawicznie. Czemu?