Archief - [PROG][JAVA] Galgje.java

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

[BAT] Hydra

Legacy Member
killgore zei:
Ik ken niet veel talen (asm is eignelijk enige) waar bij het argument zelf by-reference wordt meegegeven. In C, C++, C# wordt het argument ook by value meegegeven ;).

Niet noodzakelijk hoor. In C# en C++ kan je kiezen of je parameters by reference of by value doorgeeft. Het is wel zo dat indien je niets aangeeft, de parameters by value doorgegeven worden.

Hier zie je hoe parameters in c# by value en by reference kunnen meegegeven worden: http://www.yoda.arachsys.com/csharp/parameters.html

In java kan je niet kiezen. Zeggen dat java parameters by reference doorgeeft is onzin.

killgore

Legacy Member
[BAT] Hydra;9408484 zei:
In java kan je niet kiezen. Zeggen dat java parameters by reference doorgeeft is onzin.

ik heb nergens gezegd dat je de argumenten zelf by reference doorgeeft

vergeet niet dat originele discussie sloeg op:
Mnee. Pass-by-reference bestaat niet in Java, het is strikt pass-by-value.

Dan kan je een object van een aanroepende functie NOOIT wijzigen.

[BAT] Hydra

Legacy Member
Mnee. Pass-by-reference bestaat niet in Java, het is strikt pass-by-value.

betekent niet dat

Dan kan je een object van een aanroepende functie NOOIT wijzigen.

ik neem aan dat je hiermee dit bedoelt: Dan kan je binnen een methode aan een object waarvan de referentie doorgegeven is als parameter geen wijzigingen toebrengen die ook buiten de methode voelbaar zijn.

Als je dat wel denkt heb je mijn posts alsook wat (strikte) "pass-by-value" inhoudt niet begrepen.

eniac

Legacy Member
Oeh, toffe discussie gespawned.
Beetje jammer dat wat ik zei direct als "zever" wordt afgedaan, terwijl het wel gewoon juist is.

forloRn_ zei:
In elk boek over Java leer je dat primitives doorgegeven worden by value, en objecten by reference

Dat leer je misschien in elk beginnersboek over Java (jammer wel), maar in de serieuzere literatuur erover zal je steeds lezen dat het gewoon fout is.

Ik heb daardoor ook trouwens lang gedacht dat er pass-by-reference gebeurde, als ik me niet vergis heb ik het bij het studeren voor m'n SCJP voor het eerst anders gelezen.

Ook gaan er dan velen uit van eigen definities, of van "jamaar als je vanuit OO-standpunt denkt, dan ...", feit is dat die definities toch vaststaan en vrij duidelijk zijn.

In elk geval, leuke discussie. :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan