Johnnie Hougaard Nielsen wrote:
> Janus wrote:
>
>> Det, der undrer mig, eller som mit spørgsmål egentlig er, er at når
>> parameteren til instansen af B er null, bliver den ikke tolket som en
>> objektreference? Jeg lader jo efterfølgende foo pege på et "ægte"
>> objekt, men dette holder åbenbart ikke vand?
>
>
> Sagen er at når du instantierer B, overfører du objektreferencen som
> sådan, ikke en reference til referencen. Det vil sige at B ikke "ved"
> noget om hvad A gør med _sin_ objektreference efter at B fik sin kopi.
Måske er det bare mig, der har fået et eller andet galt i halsen? Min
opfattelse af, hvad der sker, når jeg gør som i #1 post:
reference
class A -------------> Object X
i A sendes så referencen til en instans af B, så det ser således ud:
reference
class A -------------> Object X
^
reference |
class B ------------------|
Således, at hvis jeg satte en property på X, ville dette afspejles i
både A og B. Jeg har leget lidt med det med en Vector i stedet for Foo,
og det ser ud til at holde.
MEN lader jeg nu A's reference pege på et nyt objekt (Q), har dette ikke
indflydelse på B's eksisterende reference:
reference
class A -------------> Object Q
reference
class B -------------> Object X
Very interesting ... ja, det er common Java knowledge, men selvom jeg
har arbejdet med sproget i et par år, mindes jeg ikke tidligere at være
stødt på dette "problem". Nå, jeg må vist bare lave en b.setFoo(Q) :)
Hej fra Janus
--
Kids, try this at home:
http://www.legendsrpg.net/index.php?refid=799