Java - Problem mit Sichtbarkeit der Variablen?
Ich bin gerade an der Implementation einer Klasse, die ein Histogram erstellt. Nun stolpere ich über folgendes Problem mit den Variablen:
Ich habe eine Methode getMaxValue() (und analog dazu getMinValue() ) und dort sind die Variablen max (resp min). Bei der neuen Methode getBinSize() muss ich nun auf die Variable max und min zugreifen können. Wie löse ich das am einfachsten?
In der neuen Methode sind die Variablen max und min nun ja nicht mehr sichtbar. Ich könnte sie also neu deklarieren und initialisieren, etwa:
double max = xxx.getMaxValue();
Aber die Methode getMaxValue() benötigt ja zuerst ein Objekt xxx, welches ich zu diesem Zeitpunkt noch nicht habe. Und Histogram.getMaxValue(); funktioniert auch nicht. Kann mir da jemand helfen, wie man das Problem überbrücken kann?
Vielen Dank!
2 Antworten
Du kannst "this" verwenden, um auf die Instanz der Klasse zuzugreifen, auf welcher die Methode aufgerufen wurde:
double bins = (this.getMaxValue() - this.getMinValue()) / numberOfBins;
Problem mit Sichtbarkeit der Variablen
Das hat mit der Sichtbarkeit nichts zu tun, sondern mit dem Lebensraum der Variablen.
Eine Variable, die innerhalb einer Methode deklariert wird, ist auch nur innerhalb der Methode verfügbar. Wenn du diese Variable an mehreren Stellen verwenden willst, gehört sie in die Main und von dort an die Methoden übergeben oder als globale Variable deklariert.