Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- Hieronymus: Hogyan parkolj hátramenetben profi módon
- vrob: Próbálkozás 386 alaplap újraélesztésre
- Elektromos rásegítésű kerékpárok
- Real Racing 3 - Freemium csoda
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Új hozzászólás Aktív témák
-
robisz
senior tag
válasz
Inv1sus
#1467
üzenetére
Halihó!
Na akkor a tisztánlátás kedvéért: Java-ban ugye vannak a primitív tipusok (kisbetűs int, byte, char satöbbi) és az objektum típusok (Object és leszármazottai).
A primitíveknél tiszta sor, hogy sima érték szerinti paraméterátadás van.
Az objektumoknál az okozza a kavarodást, hogy egy változó valójában egy referencia a valódi objektumra. Ez ugyanúgy működik mint egy pointer csak el van rejtve a programozó elől, hogy hova mutat, nem lehet vele pointer műveleteket végezni stb.
Amit irtál az igaz, az objektum típusú változóknál is érték szerint történik a paraméterátadás, de ilyenkor a referencia értéke másolódik át. Azaz lesz egy másik referenciád ami ugyannarra az objektumra mutat. Tehát ha a metóduson belül módosítod az objektumot, akkor az eredeti is módosulni fog. Ha viszont a referenciának új értéket adsz (értékül adsz neki egy másik objektumot) azzal azeredeti referenciát nem változtatod meg azaz továbbra is az eredeti objektumra fog mutatni.Tehát a lényeg hogy az objektumoknál a referencia érték szerint adódik át, de mivel az eredeti objektumot tudod vele módosítani, így a működése a cím szerinti paraméterátadáshoz áll közelebb. Ezért szerintem a definíció is csak a fenti magyarázattal együtt lehet teljes.
UI: aztán persze vannak kivételek (pl. távoli eljárások, RMI) amikor ténylegesen az egész objektum lemásolódik de az már egy másik téma.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- ÚJ akksi! GigaAKCIÓ! Lenovo ThinkPad P15 Gen 2 Intel i7-11850H 32GB 512GB Nvidia RTX A3000 1 év gar
- ÚRIS10!!! RAMÁRON! LEGION 5 i7-13650HX 16GB RAM 512GB SSD RTX 5070 8GB 2K OLED 165Hz 500NIT
- 10+ db - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5060
- 27% - ASUS NUC 15 Performance Core Ultra 9 275HX / RTX5070 MiniPC! BeszámítOK
- Sony DualSense Edge kontroller 3 hó garancia, számlával!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


