Da li Java prenosi vrednost ili referencu?
365 reči1 minuta
Erge";
age je osnovni tip, vrednost se čuva u promenljivoj, dok je name referencni tip, u promenljivoj se čuva adresa objekta. Obično ovakvu promenljivu nazivamo referencom objekta, referenca se čuva u steku, dok se objekat čuva u heap-u.
Ovde stek i heap, odnosi se na jednu oblast u memoriji, razlikuje se od steka i heap-a u strukturi podataka. Stek automatski dodeljuje i otpušta kompajler, stego je pogodna za čuvanje podataka čiji se životni vek određuje u vreme kompajliranja; dok se podaci u heap-u ne moraju znati životni vek kompajleru, posle kreiranja rad povraćaja obavlja garbage collector.
„Nacrtaj sliku.“

Kada se koristi = dodelni operator za promenu age i name vrednosti.
```java
age = 16;
name = ;Za osnovni tip age, dodelni operator će direktno promeniti vrednost promenljive, originalna vrednost se prebrisuje.
Za referencni tip name, dodelni operator će promeniti adresu sačuvanu u referenci objekta, originalna adresa se prebrisuje, ali originalni objekat se ne prebrisa.

Erge"; modify(name); System.out.println(name); }
private static void modify(String name1) {
name1 = "Sanmei";
}
}
Pri pozivanju `modify()` metode, parametar name1 kopira adresu name-a, ukazuje na poziciju „Erge“ u heap-u.

Kada se završi poziv `modify()` metode, promenjena je adresa parametra name1, ali name u `main()` metodi se nije promenila.

Zaključak:
- Prenos parametara u Javi je prenos po vrednosti.
- Ako je parametar osnovni tip, prenosi se kopija literalne vrednosti osnovnog tipa.
- Ako je parametar referencni tip, prenosi se kopija adrese objekta u heap-u.
„Dobro, današnje učenje je ovde.“
----