Czy w poniższym wierszu kodu kompilator alokuje pamięć do przechowywania 10 obiektów MyClass lub 10 odwołań?
MyClass[] arr= new MyClass[10];
Innymi słowy, czy tablice przechowują same referencje, czy same obiekty?
Czy zachowanie jest inne dla typów pierwotnych?
2 odpowiedzi
Przydziela miejsce na referencje. W przypadku typów pierwotnych alokuje spację = długość tablicy * rozmiar bajtu typu pierwotnego.
Po utworzeniu w ten sposób tablice są automatycznie inicjowane z domyślną wartością ich typu, więc arr
zostaje zainicjowany z 10 referencjami null
.
Podobne pytania
Nowe pytania
java
Java to język programowania wysokiego poziomu. Użyj tego tagu, jeśli masz problemy z używaniem lub zrozumieniem samego języka. Ten tag jest rzadko używany samodzielnie i jest najczęściej używany w połączeniu z [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] i [maven].