Speicherabbild java

rockhound24

Mitglied
Hallo Zusammen.

Ich habe mal eine Frage zum Speicherabbild in Java. Hoffe ihr könnt mir helfen:
Gegeben sind die folgenden Klassen:

Java:
public class IntKlasse {
    public int a;
    public IntKlasse (int a) {
        this.a = a;
    }
}
public class RefIntKlasse {
    public IntKlasse x;
    public int y;
    public RefIntKlasse(int u, int v) {
        x = new IntKlasse(u);
        y = v;
    }
}

public class KlassenTest {
    public static void assign1 (RefIntKlasse f, RefIntKlasse g) {
        g.x.a = f.x.a;
        g.y = f.y;
    }

public static void assign2 (RefIntKlasse f, RefIntKlasse g) {
    g.x = f.x;
    g.y = f.y;
}

public static void assign3 (RefIntKlasse f, RefIntKlasse g) {
    g = f;
}
public static void main (String args[]) {
    RefIntKlasse p = new RefIntKlasse(5,7);
    RefIntKlasse q = new RefIntKlasse(1,2);

// Hier folgt nun eine Zuweisungsoperation:
// ***
}
}

Welches Speicherabbild ergibt sich, wenn die Zeile // *** ersetzt wird durch
assign1(p, q);


Hoffe mir kann schnell jemand helfen :)
lg
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
wie ist denn der Begriff 'Speicherabbild' definiert? die Wiki-Version klingt eher aufwendig,

kannst du das Programm nicht ausführen und dann alle Variablen anschauen?
 

fastjack

Top Contributor
Mal Dir die Objekte doch auf, Referenzen sind dann Pfeile zu anderen Objekten, Objekte einfache Kuller ;) Dann siehst Du am einfachsten, was wo hin zeigt.
 
S

SlaterB

Gast
du kannst doch zumindest die Werte von a und y mit System.out.println() nachschauen,
aber da passiert ja so wenig, dass man das auch manuell sehr leicht verfolgen kann

q.x.a war vorher 1 und ist nun 5, ist das eine so neue Info?
 

Oben