Verstehe Lösung einer Aufgabe von "Grundkurs-Java" nicht

pingoo

Mitglied
Hallo allerseits
Die Frage ist, was geschieht wenn der unten angefügte Code ausgeführt wird.
Die Lösung ist : Alles bleibt wie es war.
Nun ich verstehe nicht weshalb die Anweisung copy(p,q); nicht dazu führt dass das Objekt q = p wird, beziehungsweise dessen Inhalt erhält.
Kann mir Jemand den Grund dafür erläutern?

Gegeben ist der folgende Code:

Java:
public class IntKlasse{
   public int a;
   public IntKlasse (int a) {
     this.a = a;
   }
}
public class RefIntKlasse {
   public IntKlasse x;
   public double  y;
   public RefIntKlasse(int u, int v){
     x=new IntKlasse(u);
     y=v;
   }
}
public class KlassenTest {
  
   public static void copy (RefIntKlasse f, RefIntKlasse g){
     g=f;
   }
  
  public static void main (String[] args) {
    RefIntKlasse p= new RefIntKlasse(5,7);
    RefIntKlasse q= new RefIntKlasse(1,2);
    copy(p,q);
    
  }

}
 

Flown

Administrator
Mitarbeiter
Java Parameter werden per call-by-value bereitgestellt. Das heißt der Methode copy werden beide Speicheradressen von RefIntKlasse p, q kopiert übergeben. Darum wird auch q nicht überschrieben (wegen der Kopie der Speicheradresse). Man kann aber trotzdem den internen Zustand der einzelnen Objekte ändern!
 

pingoo

Mitglied
Danke für die schnelle Antwort :)
Ach so das heisst in der Methode copy wird nur mit Kopien von den Objekten p und q gearbeitet, und wenn ich in dieser Methode in der Form p.x bzw. q.x drauf zugreifen würde, würde ich mit den "originalen"(nicht kopierten) Instazvariablen der Objekte arbeiten?
 

InfectedBytes

Top Contributor
Es wird nur die Referenz auf das Objekt kopiert. Wenn du nun in deiner copy funktion g=f machst, dann zeigt eben einfach nur die Referenz nicht mehr auf das alte Objekte, sondern auf das neue.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Verstehe die Lösung einer Aufgabe von Grunkurs-Java nicht. Java Basics - Anfänger-Themen 11
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
nbergmann x /= n : Verstehe ich nicht. Java Basics - Anfänger-Themen 24
S Schulaufgabe - verstehe leider die Aufgabe nicht Java Basics - Anfänger-Themen 4
ZH1896ZH Verstehe verschieden Scanner und hasNext() nicht ganz Java Basics - Anfänger-Themen 2
ZH1896ZH OOP Verstehe nicht was der Hinweis bedeutet, bitte um Hilfe! Java Basics - Anfänger-Themen 2
A Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk" Java Basics - Anfänger-Themen 13
A Shopping Cart Programm. Verstehe einige Zusammenhänge nicht Java Basics - Anfänger-Themen 1
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
K Erste Schritte Ich verstehe das Summenprogramm nicht Java Basics - Anfänger-Themen 10
S Ich verstehe die RegEx Tabelle von Javadoc nicht so ganz Java Basics - Anfänger-Themen 3
V Erste Schritte Array.length[x] in einer Schleife - ich verstehe das nicht Java Basics - Anfänger-Themen 1
Y Erste Schritte Ich verstehe this. nicht so richtig Java Basics - Anfänger-Themen 5
DaCrazyJavaExpert Methoden Verstehe Feheler nicht! Java Basics - Anfänger-Themen 7
Henri ich verstehe gerade nicht die Methode Java Basics - Anfänger-Themen 6
dave253 Ich verstehe folgenden Code nicht.. Java Basics - Anfänger-Themen 12
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
J Verstehe meine HashSet Ausgabe nicht Java Basics - Anfänger-Themen 5
O Ich verstehe nicht, was Eclipse von mir will Java Basics - Anfänger-Themen 10
G Methoden Verstehe nicht was in der Methode gemacht wird? Java Basics - Anfänger-Themen 5
M Verstehe das Programm(Quellcode) nicht!! Java Basics - Anfänger-Themen 12
B Verstehe ZufallInt = (int) (Math.random() * 5 + 1); nicht Java Basics - Anfänger-Themen 9
J Rekursiver Horner-Schema-Algorithmus - Verstehe ich ihn richtig? Java Basics - Anfänger-Themen 2
F verstehe diese Variable nicht... Java Basics - Anfänger-Themen 4
A Codezeile die ich nicht verstehe Java Basics - Anfänger-Themen 7
Pentalon Ein Aufruf den ich nicht verstehe Java Basics - Anfänger-Themen 11
V Verstehe die Logik nicht ... Java Basics - Anfänger-Themen 30
C rekursive Methode verstehe nicht! Java Basics - Anfänger-Themen 3
B verstehe methode nicht methode Java Basics - Anfänger-Themen 2
B Erste Schritte Verstehe das nicht Java Basics - Anfänger-Themen 3
C verstehe get und set nicht Java Basics - Anfänger-Themen 3
J Interface Wie funktioniert das mit den Interfaces. Ich verstehe es einfach nicht! :( Java Basics - Anfänger-Themen 15
T ich verstehe array nicht! Java Basics - Anfänger-Themen 11
P for Schleife mit break, verstehe die Ausgabe nicht Java Basics - Anfänger-Themen 6
A Verstehe readLine()-Funktion nicht Java Basics - Anfänger-Themen 3
A Verstehe das GUI nicht! Java Basics - Anfänger-Themen 7
D Verstehe Zusammenhang nicht- Und ihr? Java Basics - Anfänger-Themen 4
M THREADS - Ich verstehe es nicht Java Basics - Anfänger-Themen 10
T Verstehe Bufferreader prinzip nicht Java Basics - Anfänger-Themen 3
E I-JVM verstehe ich das richtig (bytecode aufgabe) Java Basics - Anfänger-Themen 2
M Verstehe Aufgabe nicht, wie kann man schleifen einbauen? Java Basics - Anfänger-Themen 5
N Verstehe Step10 bei jME Eclipsetutorial nicht Java Basics - Anfänger-Themen 4
L Verstehe den Wert nicht! If-Anweisung Java Basics - Anfänger-Themen 5
N Verstehe diese Aufgabe nicht! Java Basics - Anfänger-Themen 16
Rudolf Verstehe das Ergebnis nicht - bitte erklären Java Basics - Anfänger-Themen 7
S Finde den Fehler nicht/ verstehe Anweisung nicht Java Basics - Anfänger-Themen 12
K Ich verstehe switch einfach nicht Java Basics - Anfänger-Themen 4
C Verstehe Code-Teil nicht. Java Basics - Anfänger-Themen 2
S Ich verstehe diese Methode nicht! Java Basics - Anfänger-Themen 6
G Verstehe das nicht. bitte um hilfe Java Basics - Anfänger-Themen 13
R Thread startet nicht, verstehe nicht warum Java Basics - Anfänger-Themen 2
R Verstehe die Ausgabe von folgendem Code nicht Java Basics - Anfänger-Themen 4
A verstehe aufgabenstellung nicht! Java Basics - Anfänger-Themen 47
S verstehe den fehler nicht Java Basics - Anfänger-Themen 14
C Verstehe die Syntax nicht! Java Basics - Anfänger-Themen 2
M Verstehe den Quellcode nicht ganz Java Basics - Anfänger-Themen 3
7 Verstehe Programm nicht Java Basics - Anfänger-Themen 6
G verstehe das problem nicht :( Java Basics - Anfänger-Themen 4
S RegEx Syntax - ich verstehe sie einfach nicht! Java Basics - Anfänger-Themen 3
G verstehe den unterschied zwischen equals und == nicht Java Basics - Anfänger-Themen 3
E Verstehe eine Schleife nicht Java Basics - Anfänger-Themen 5
B Eine Linie zeichnenmit Java, ich verstehe das einfach nicht Java Basics - Anfänger-Themen 4
G Verstehe einen Aufruf absolut nicht Java Basics - Anfänger-Themen 2
C Rechnen mit Brüchen, ist meine Lösung soweit richtig? Java Basics - Anfänger-Themen 4
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
W Texteingabe - Bedeutung Fehlermeldung, Lösung? Java Basics - Anfänger-Themen 18
M Kennt jemand die richtige Lösung? Java Basics - Anfänger-Themen 7
H Codewars akzeptiert Lösung nicht Java Basics - Anfänger-Themen 29
A Selbe Aufgaben stellung, andere Lösung Java Basics - Anfänger-Themen 7
M Lösung Aufgabe - Java Programmiren lernen für Dummies Java Basics - Anfänger-Themen 11
ZH1896ZH Java-SemesterTest ohne Lösung :( Java Basics - Anfänger-Themen 47
D Beim Programmieren auf die Logisch einfache Lösung kommen. Java Basics - Anfänger-Themen 17
M Hamstersimulator- lösung hilfe benotigt Java Basics - Anfänger-Themen 3
M Hamstersimulator- Lösung? Java Basics - Anfänger-Themen 3
E Mathematische Aufgabe: Antwort entspricht nicht der Lösung Java Basics - Anfänger-Themen 5
W Tipps/Anmerkungen zu meiner Lösung?! Java Basics - Anfänger-Themen 2
H lösung aufgabe Java Basics - Anfänger-Themen 12
J Gleiche Methode in 2 verschiedenen Klassen - Lösung ? Java Basics - Anfänger-Themen 8
P java.lang.ClassCastException Bedeutung und Lösung Java Basics - Anfänger-Themen 3
M Methoden Fehler und finde die Lösung nicht wirklich Java Basics - Anfänger-Themen 6
J RPN Taschenrechner - keine Lösung!! Java Basics - Anfänger-Themen 84
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
J Best Practice DOS Fenster mit Befehlszeile (Lösung) Java Basics - Anfänger-Themen 2
S mehrfache if-Abfragen - beste Lösung Java Basics - Anfänger-Themen 1
J Einfache pub/sub Lösung mit ausführlicher Doku Java Basics - Anfänger-Themen 5
D Best Practice Testdaten. Was ist eine saubere Lösung? Java Basics - Anfänger-Themen 3
D Datentypen Datentyperstellung | Kompiler sagt Syntax Error doch ich find keine Lösung Java Basics - Anfänger-Themen 2
E Brauche eine Antwort zum Thema RegEx ( Alternative zur Lösung auch gesucht ) Java Basics - Anfänger-Themen 5
C Lösung für RegEx in Java gesucht Java Basics - Anfänger-Themen 2
S Eine rekursive Lösung Java Basics - Anfänger-Themen 4
G OOP [Eilig] Biete 10€ für Lösung von 2 Grundlagen-Aufgaben Java Basics - Anfänger-Themen 6
C For-Schleife wie kommt man auf die Lösung? Java Basics - Anfänger-Themen 2
M Erste Schritte boolean: ist Zahl Hexadezimal - Lösung verwirrend Java Basics - Anfänger-Themen 6
C Best Practice Was ist die elegantere Lösung bzgl. Klassenaufteilung in Robocode ? Java Basics - Anfänger-Themen 3
O Funktioniert dies? Und gibt es eine bessere Lösung? Java Basics - Anfänger-Themen 6
G Vererbung Lösung Standardproblem Java Basics - Anfänger-Themen 2
J Lösung eines Zahlenintervall wierd an der Falschen Stelle angezeigt. Java Basics - Anfänger-Themen 8
S Bessere Lösung? Java Basics - Anfänger-Themen 4
C Sortierverfahren - allgemeine Lösung? Java Basics - Anfänger-Themen 9
3 Bitte um Hilfe bei Lösung einer Aufgabe Java Basics - Anfänger-Themen 16

Ähnliche Java Themen

Neue Themen


Oben