Objekt bekommen, welches die Methode aufruft?

Extremefall

Bekanntes Mitglied
Hallo,
ich habe eine Klasse XO.
Java:
 Klasse XO
public class XO{
String eingabewert;
public XO(String wert){
eingabewert = wert;
}
public String gibString(){
return eingabewert;
}
Um nun den Wert von dem XO Objekt (String) zu bekommen, mache ich folgendes:
]XO obj = new XO("String");
obj.gibString();
Wenn ich nun allerdings die Methode gibString() auf dem Objekt der Klasse XO aufrufe, erhalte ich nicht den richtigen Wert:
Java:
XO a = new XO("A");
		XO b = new XO("B");
		System.out.println(a.gibString());
Das Beispiel liefert den String "B" zurück.

Wisst ihr, wo der Fehler liegt?

Die Frage also:
Wie bekommt man den Eingabeparameter zurück? Also egal ob INT, String oder Char? Also obj.bekommeEingabeParameter() z.B.?
 
Zuletzt bearbeitet:
Solange du da nicht irgendwo nen static versteckt hast ist das von dir beschrieben Verhalten völlig unmöglich.
Da wird auf jedenfall A ausgegeben.
 
Das lässt sich eigentlich nur mit einem "static" for der Variable "eingabewert" erklären.
[OT]
Man, seid Ihr heute alle wieder schnell 😉
[/OT]
 
Doch, da ich es in einer public Methode aufgerufen habe (sieht man nicht am oberen Code). Diese habe ich nun auf private gesetzt und es klappt nun auch mit private beim Datenfeld.
 
Bist du dir denn überhaupt im klaren darüber, was static bedeutet?
Instanzvariablen static zu definieren sollte in deinem Programm welchen Sinn haben?
(Nicht böse gemeint, nur wenn ich nachfrage machst du dir vllt nochmals Gedanken drüber.)

Best regards,
 

Zurück
Oben