Klassen und Objekte (kopieren)

Status
Nicht offen für weitere Antworten.

monty.ms

Mitglied
Hallo,

Ich habe ein Problem, wer hätte das gedacht, mit Klassen und Objekten. Folgendes:

Code:
public class Zahlen
{
int zahl1,zahl2;

public static void main( String[] args)
{
Zahlen nr1 = new Zahlen();
Zahlen nr2 = new Zahlen();

nr1.zahl1 = 4;
nr1.zahl2 = 8;

...

Nun will ich die Zahlen aus "nr" nach "nr2" kopieren:

Code:
nr2 = nr1;

Als nächstes will ich nr1 verändern, wenn ich aber dann nr2 ausgebe, ist das genauso (verändert) wie nr1. Ich will also nr1 in nr2 kopieren und nr1 ändern ohne dass sich nr2 mit verändert. Ich weis nur nicht wie =( .. Kann mir das vlt einer sagen?

Danke im Vorraus.
 

DocRandom

Top Contributor
Hi monty.ms!

Klar, das dies nicht funktioniert!
Ein Objekt (Klasse) verhaltet sich anders als eine generische Variable!

Wenn ich mit 'normalen' Variablen
Code:
 int x, y;
x = 2;
y = 4;

x = y; //x = 4
y++;// y = 5
arbeite, haben diese auch unterschiedliche Werte

Wenn Du hingegen sagst:
Code:
Zahlen nr1 = new Zahlen();
Zahlen nr2 = new Zahlen();

nr1.zahl1 = 4;
nr1.zahl2 = 8; 

nr2 = nr1;
..dann legst Du die Refernz von nr1 auch auf nr2 und beide representieren das selbe Objekt!

Um das zu umgehen, müsstest Du über Getter/Setter arbeiten, oder eine Copy-Routine implementieren!

mfg
DocRandom
 

monty.ms

Mitglied
hallo docRandom

Danke für die schnelle Antwort. Dann werde ich es dabei belassen. Mit Getter und Setter kenn ich mich nicht aus, geschweige denn weis ich was das ist ^^

Also danke nochmal und schönen tag noch.

mfg monty.ms
 

DocRandom

Top Contributor
monty.ms hat gesagt.:
hallo docRandom

Danke für die schnelle Antwort. Dann werde ich es dabei belassen. Mit Getter und Setter kenn ich mich nicht aus, geschweige denn weis ich was das ist ^^

Also danke nochmal und schönen tag noch.

mfg monty.ms

..also das mit Getter/Setter ist ganz einfach und ist schon mal die Grundlage der Objekt orientierten Programmiereung!
Nehmen wir als Beispiel Deine Klasse her:
Code:
public class Zahlen
{
	private int zahl1,zahl2;
	// Leerkonstruktor
	public Zahlen() {
	    zahl1 = 0;
	    zahl2 = 0;
	}
	// Initialkonstruktor mit einer Zahl
	public Zahlen ( int zahl1) {
	    this.zahl1 = zahl1;
	    zahl2 = 0;
	}
	// Initialkonstruktor mit 2 Zahlen
	public Zahlen ( int zahl1, int zahl2 ) {
	    this.zahl1 = zahl1;
	    this.zahl2 = zahl2;
	}
	public int getZahl1() {
	    return zahl1;
	}
	public int getZahl2() {
	    return zahl2;
	}
	public void setZahl1( int zahl) {
	    this.zahl1 = zahl;
	}
	public void setZahl2 (int zahl) {
	    this.zahl2 = zahl;
	}

mfg
DocRandom
 

monty.ms

Mitglied
Das sieht ja garnichtmal so kompliziert aus ^^ ...dann werd ich mir das doch nochmal ankucken.

Vielen Dank.


mfg monty.ms
 

byte

Top Contributor
Um das zu umgehen, müsstest Du über Getter/Setter arbeiten, oder eine Copy-Routine implementieren!

Sorry, aber Getter/Setter ändern gar nichts an der Tatsache, dass bei nr2 = nr1 beide Referenzen aufs gleiche Objekt zeigen. ???:L
 

DocRandom

Top Contributor
byto hat gesagt.:
Um das zu umgehen, müsstest Du über Getter/Setter arbeiten, oder eine Copy-Routine implementieren!

Sorry, aber Getter/Setter ändern gar nichts an der Tatsache, dass bei nr2 = nr1 beide Referenzen aufs gleiche Objekt zeigen. ???:L

..so wars auch nicht gemeint, sondern das er die Zuweisungen mit setXXX und das lesen mit getXXX macht!
Und die Felder nicht öffentlich macht.

Also:
Code:
nr2.setZahl1 = nr1.getZahl1;

mfg
DocRandom
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
Y Klassen Klassen und Objekte Java Basics - Anfänger-Themen 3
Y Klassen Klassen und Objekte mit set und get Java Basics - Anfänger-Themen 0
G Klassen und Objekte Java Basics - Anfänger-Themen 2
M Klassen und Objekte Java Basics - Anfänger-Themen 2
J Objekte und Abstrakte Klassen Java Basics - Anfänger-Themen 2
Orkanson Objekte und Klassen Java Basics - Anfänger-Themen 8
S Objekte mit gleichem Namen in unterschiedlichen Klassen Java Basics - Anfänger-Themen 3
Z OOP Objekte einer Klasse weiteren Klassen zur Verfügung stellen Java Basics - Anfänger-Themen 17
D Methoden Wie können Klassen auf Klassenfremde Objekte zugreifen? Java Basics - Anfänger-Themen 7
C Klassen/Objekte Verständnis Java Basics - Anfänger-Themen 8
Z Wie Objekte anderer Klassen ansprechen? Java Basics - Anfänger-Themen 2
K JUnit: Objekte von eigenen Klassen vergleichen...geht nicht Java Basics - Anfänger-Themen 5
T Klassen Referenzen auf Klassen / Objekte Java Basics - Anfänger-Themen 5
K Methoden Uhr als Übungsaufgabe Klassen/Objekte Java Basics - Anfänger-Themen 3
A OOP Klassen und Objekte - Diagramme Java Basics - Anfänger-Themen 2
K Best Practice In Klassen auf andere Objekte mit variablen Namen zugreifen Java Basics - Anfänger-Themen 6
A Objekte aus 2 Klassen mit compareTo() vergleichen Java Basics - Anfänger-Themen 7
V Objekte/Klassen erstellen - Erklärung anhand Beispiel Java Basics - Anfänger-Themen 4
D Klassen Klassen, Objekte, Konstruktor - einfach erklärt Java Basics - Anfänger-Themen 12
U Objekte in Array erstellen und Methode in verschiedenen klassen aufrufen Java Basics - Anfänger-Themen 5
S Vererbung Objekte in verwandten Klassen (Kovarianz, Polymorphie) Java Basics - Anfänger-Themen 4
B Objekte aus einer anderen Klasse(in der sich weitere Klassen befinden) erzeugen Java Basics - Anfänger-Themen 24
B Klassen und Objekte Java Basics - Anfänger-Themen 10
J Objekte und Klassen Java Basics - Anfänger-Themen 8
I Objekte an andere Klassen/Methoden übergeben? Java Basics - Anfänger-Themen 5
L Vererbung - Wie Objekte verschiedener Klassen unterscheiden Java Basics - Anfänger-Themen 3
T Klassen, Objekte, Methoden Java Basics - Anfänger-Themen 9
X Klassen & Objekte Java Basics - Anfänger-Themen 6
J Verständniss Frage zu Klassen, Objekte und Methoden Java Basics - Anfänger-Themen 8
J Objekte und Klassen? Java Basics - Anfänger-Themen 12
G Objekte von Klassen die erst zur Laufzeit bekannt sind erstellen Java Basics - Anfänger-Themen 6
B Uni (Klassen und Objekte) verwenden Java Basics - Anfänger-Themen 2
D Objekte und Klassen Java Basics - Anfänger-Themen 15
muchodrinko Auf Objekte anderer Klassen zugreifen? Java Basics - Anfänger-Themen 16
T Klassen und Objekte externer Aufruf. Java Basics - Anfänger-Themen 8
M Klassen und Objekte => richtiges Verständnis? Java Basics - Anfänger-Themen 6
A Objekte von abstrakten Klassen? Java Basics - Anfänger-Themen 6
K Objekte/Klassen erweitern ~ Javascript Prototyp Java Basics - Anfänger-Themen 5
M Objekte zwischen Klassen "handeln" Java Basics - Anfänger-Themen 4
K Objekte erstellen, wenn der Klassen-Name als String vorliegt Java Basics - Anfänger-Themen 4
L Zusammenhang Methoden, Klassen, Objekte, static - sun doku Java Basics - Anfänger-Themen 4
K Programm in Klassen/Objekte zerlegen - wie? Java Basics - Anfänger-Themen 3
G Was sind Klassen, Objekte und Methoden? Java Basics - Anfänger-Themen 3
N Zugriff auf Objekte von fremden Klassen aus? Java Basics - Anfänger-Themen 4
M Klassen, Objekte, Konstruktor Java Basics - Anfänger-Themen 5
J Methodenaufrufe abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 17
M Abstrakte Klassen - Notation Java Basics - Anfänger-Themen 9
Detlef Bosau Nachladen von Klassen zur Laufzeit Java Basics - Anfänger-Themen 24
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
C Array von Klassen Java Basics - Anfänger-Themen 2
monsterherz 2 Klassen daher Probs mit dem Dateinamen Java Basics - Anfänger-Themen 9
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 9
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
D Klassen Klassen Kommunikation Java Basics - Anfänger-Themen 12
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
L Best Practice Annotierte Klassen im Classpath herausfinden Java Basics - Anfänger-Themen 1
P Mit dem Scanner Klassen aufrufen Java Basics - Anfänger-Themen 3
O Klassen Zusammenspiel zwischen 2 Klassen Java Basics - Anfänger-Themen 1
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
Speedrunner klassen aufrufen Java Basics - Anfänger-Themen 41
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9
D importieren eigener Klassen Java Basics - Anfänger-Themen 12
W Wo ist der Wurm in meinem Grundverständnis von Klassen? Java Basics - Anfänger-Themen 22
S Daten/Klassen/Packages richtig updaten!? Java Basics - Anfänger-Themen 2
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
elsaaaaaa Wochentag als String ausgeben mit JDK Klassen Java Basics - Anfänger-Themen 6
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
Z Mehtode bei Start des Programms ausführen (Klassen übergreifend) Java Basics - Anfänger-Themen 12
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
B Inventar als einzelne Klassen anlegen? Java Basics - Anfänger-Themen 12
G Java Klassen und Instanzmethoden Java Basics - Anfänger-Themen 15
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Attribute für vererbte Klassen Java Basics - Anfänger-Themen 4
S Klassen instanziieren und verwenden von Getter und Setter Java Basics - Anfänger-Themen 4
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
G Abstrakte Klassen Java Basics - Anfänger-Themen 11
A Generischen Klassen Java Basics - Anfänger-Themen 8
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Generische Klassen/Interface Java Basics - Anfänger-Themen 1
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
J 2 klassen benutzen Java Basics - Anfänger-Themen 5
A Klassen und methoden Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben