Frage von SpasLos, 22

Wie kann man in Java eine klasse bestimmt definieren und GENAU diese in 2 anderen Klassen aufrufen?

Hallo Community,

in einer Klasse erstelle ich mit: "klassenName name = new klassename()" dieses neue Klassenobjekt, dann belege ich in dieser anderen klasse eine Variable. Das gleiche mache ich in einer anderen klasse nochmal, nur ,dass ich die Variable nicht belege, sondern ihren Inhalt abholen will. Leider scheinen bieden Klassen aber nicht auf die gleiche Variable zuzugreifen. Ein Freund von mir hatte das Problem gelöst aber die Lösung ist gerade nicht in meiner Reichweite. Er hatte dieser aufgerufenen Klasse einen "namen" gegeben, der beide anderen Klassen genau die gleiche aufrufen lässt. was muss ich machen, damit beide auf die gleiche Variable zugreifen? Hoffe meine Fachtermini sind verständlich ^^ und nicht zu viel falsch

LG Spas

Expertenantwort
von KnusperPudding, Community-Experte für Java, 9

was muss ich machen, damit beide auf die gleiche Variable zugreifen?

Ich schätze mal dass du mit der selben Variable einen Wert meinst, der beiden Instanzen zur Verfügung steht und zwar Instanz-Unabhängig.

Beispiel:

class MyClass {

int value;

public MyClass(int value) {
  this.value = value;
}

// Getter / Setter...

Hier hättest du eine Variable die nur innerhalb der einen Instanz gültig ist.

MyClass a = new MyClass(1);
MyClass b = new MyClass(2);

Hier hättest du zwei Instanzen für die die Value-Variable jeweils nur innerhalb der Instanz gültig ist. Wodurch du bei:

a.getValue()

die 1 und bei

b.getValue()

die 2 zurück bekommst.

definierst du in der Klasse nun eine statische Variable, so diese beim Ansprechen der Klasse Initialisiert und gilt über alle Instanzen hinweg.

d.h. ergänze z.B. oben die Variable:

public static staticValue;

 so kannst du  via.

MyClass.staticValue;

darauf zugreifen. Den Wert abfragen oder setzen wie es dir beliebt.

Kommentar von SpasLos ,

Jetzt funktioniert es einwandfrei und die Lösung ist noch einfacher als gedacht. ^^ vielen lieben Dank

Kommentar von KnusperPudding ,

kein Problem. Viel Spass =)

Keine passende Antwort gefunden?

Fragen Sie die Community