Hallo,
Ich habe mal wieder eine Anfänger-Frage:
Wir haben mit zahlreichen static-Attributen, die in einer zentralen Klasse abgelegt sind. Dabei machen wir uns eben den Umstand zu nutze, dass es nur eine Instanz dieses Objekts geben kann und somit jede Änderung auch globale Gültigkeit besitzt. Dies hat sich im Rahmen der Implementierung unseres Projekts als sehr nützlich erwiesen.
Nun fällt mir die Aufgabe zu, bestimmte Schnittstellen zu Bearbeitung zu bieten. Dabei wollen wir nach Möglichkeit die Komplexität der eigentlich Implementierung vor weiteren Entwicklern verbergen, sodass diese sich wirklich auf ihre Erweiterungen bzw. Bearbeitungen konzentrieren können und sich keine Gedanken über intern notwendige Strukturen machen müssen.
Über Getter werden dabei dem Entwicklern alle benötigten Objekte verfügbar gemacht. Dazu habe ich jetzt folgende Frage.
Wenn ein Getter (siehe unten) auf ein static-Objekt zugreift, selbst aber nicht static definiert ist, gibt er dann das static-Objekt zurück oder eine Kopie. Wären also Änderungen an dem zurückgegebenen Objekt global gültig oder nur lokal?
Der Getter im "Fragefall" sieht so aus (dabei sind sowohl die Klasse Register, als auch das dort gespeichert Objekt Irgendwas (logischerweise) static)
Schreibe ich jetzt...
Wird dann ein Neues Objekt erzeugt, oder verbleibt somit die static-Referenz?
Nach meiner Vermutung müsste es nach wie vor immer noch nur das eine Objekt geben. Zwei meiner Mitprogrammierer behaupten allerdings das Gegenteil. Diese Information wäre für die weitere Implementierung durchaus interessant.
Bitte entschuldigt diese Anfänger-Frage. Manchmal hakt es tatsächlich einfach an den Grundlagen.
Gruß
SimProtect
Ich habe mal wieder eine Anfänger-Frage:
Wir haben mit zahlreichen static-Attributen, die in einer zentralen Klasse abgelegt sind. Dabei machen wir uns eben den Umstand zu nutze, dass es nur eine Instanz dieses Objekts geben kann und somit jede Änderung auch globale Gültigkeit besitzt. Dies hat sich im Rahmen der Implementierung unseres Projekts als sehr nützlich erwiesen.
Nun fällt mir die Aufgabe zu, bestimmte Schnittstellen zu Bearbeitung zu bieten. Dabei wollen wir nach Möglichkeit die Komplexität der eigentlich Implementierung vor weiteren Entwicklern verbergen, sodass diese sich wirklich auf ihre Erweiterungen bzw. Bearbeitungen konzentrieren können und sich keine Gedanken über intern notwendige Strukturen machen müssen.
Über Getter werden dabei dem Entwicklern alle benötigten Objekte verfügbar gemacht. Dazu habe ich jetzt folgende Frage.
Wenn ein Getter (siehe unten) auf ein static-Objekt zugreift, selbst aber nicht static definiert ist, gibt er dann das static-Objekt zurück oder eine Kopie. Wären also Änderungen an dem zurückgegebenen Objekt global gültig oder nur lokal?
Der Getter im "Fragefall" sieht so aus (dabei sind sowohl die Klasse Register, als auch das dort gespeichert Objekt Irgendwas (logischerweise) static)
Java:
public final Irgendwas getIrgendwas(){
return Register.irgendwas;
}
Schreibe ich jetzt...
Java:
Irgendwas irgendwas = this.getIrgendwas();
Wird dann ein Neues Objekt erzeugt, oder verbleibt somit die static-Referenz?
Nach meiner Vermutung müsste es nach wie vor immer noch nur das eine Objekt geben. Zwei meiner Mitprogrammierer behaupten allerdings das Gegenteil. Diese Information wäre für die weitere Implementierung durchaus interessant.
Bitte entschuldigt diese Anfänger-Frage. Manchmal hakt es tatsächlich einfach an den Grundlagen.
Gruß
SimProtect