Kapselung Variable innerhalb einer inneren Klasse ansprechen ohne ein Objekt erzeugen zu müssen?

pisco

Bekanntes Mitglied
Hey Leute,

Ich muss den Wert eine Var einer inneren Klasse ändern, hab mir dazu getter/setter geschrieben, ABER ich will kein neues Objekt erzeugen, daher meine Frage:

Variable innerhalb einer inneren Klasse ansprechen ohne ein Objekt erzeugen zu müssen?

glg und dank euch schonmal für eure Antwort!!!
 
Zeig mal den Code.

Erste Idee: eine statische Variable in der inneren Klasse anlegen. Dazu muss diese innere Klasse aber selbst statisch sein (glaube ich). Ob das in deinem Fall hilft, lässt sich aber nur sagen, wenn du Code zeigst und sagst, was du erreichen willst.

Ark
 
Code zeigen ist ein bissl schlecht, da das ganze sehr komplex ist, aber ich versuchs darzustellen:
Code:
class A{

innerclass A1{
boolean changer;

while(changer && ect.){
...
}

//setter & getter


}

class B{

hier möcht ich die Var ansprechen und sie von true auf false setzten


}
 
Ich würde hier auch (wie Ark schon sagte) eine statische Variable anlegen, jedoch einfach in der Klasse A.
Per A.flag = true; ist das dann steuerbar. Nicht besonder schön, aber es sollte gehen.

Pentalon
 
Derartiges static-Gefummel deutet eher auf schlechtes Design hin, schätze ich mal. static braucht man eigentlich so gut wie nie beim "normalen" Programmieren, sondern eher für Sonderfälle (z.B. Konstanten oder die main()-Methode).

Ark
 
Ja klar, aber es ist immer die Bequemlichkeit die zu solchen Dingen führt.
Eine innere Klasse mache ich ja, weil ich nur diesen einen Aufruf brauche und es sich nicht lohnt, dafür eine eigene Klasse zu erstellen. In diesem Fall wäre die saubere Lösung, die Klasse doch zu machen und dann das entsprechende Objekt damit.

Pentalon
 

Zurück
Oben