Referenz einer bereits instanziierten Klasse während des Programmablaufs

Cyborg

Aktives Mitglied
Moin,

ich weiß nicht, ob ich gerade auf dem Schlauch stehe, aber ist es möglich von einer bereits instanziierten Klasse im späteren Programmablauf DIESE Referenz für eine andere Klasse zu bekommen?
Die andere Klasse befindet sich in einem anderem Paket.

Gruß
 

Fu3L

Top Contributor
Wenn du eine übergeordnete Klasse hast, die diese Referenz in einer Variablen speichert, ja.

Und wenn deine Klasse, die neue Klasse selbst instantiiert, kannst du ihr mit "this", die Referenz auf deine Klasse mitgeben.
 

Volvagia

Top Contributor
(Wenn ich dich richtig verstanden habe)
Du hast ja die Instanz in eine Variable gespeichert. (Oder kannst es tun, falls nicht.)
Die kannst du theoretisch auch kreuz und quer durchs Programm feuern, per Konstruktor, Methoden oder sogar per public Variablen (nicht zu empfehlen).

Oder schau dir mal die Design Patterns in den FAQ an. Vor allem Observer, die Idee fasziniert mich, und sie löst die meisten Abhängigkeiten auf.
 

Cyborg

Aktives Mitglied
Danke für eure Antworten.

@ Fu3L:
Ich habe keine übergeordnete Klasse, die die Referenz speichert. (Wär eine Idee)
Und nein, die Klasse wovon ich die Referenz brauche instanziiert nicht die Klasse, wo ich die Referenz brauche.
Kann also leider kein "this" mitgeben.

@Volvagia:
Observer hab ich mir noch nicht angeschaut.
Aber ich bin gerade über Singletons gestolpert.

Ist dieses Erzeugungsmuster veraltet weil es durch static von überall drauf zugreifbar ist ?
 

Volvagia

Top Contributor
Nein, Singleton verwendet man, wenn nur eine Instanz existieren darf. Wenn das der Fall ist, kannst du es natürlich auch verwenden.
 

Cyborg

Aktives Mitglied
Hmm, na ja.
Woran macht man das fest?
Ohne mein Problem würde nur eine Instanz existieren.
Also wär die Vorgehensweise doch legal ? :D
 
G

Gast2

Gast
Verrat uns doch mal ein bisschen mehr zu deinem bisherigen Design. Singletons KÖNNEN unter Umständen duchaus mal ganz praktisch sein, aber darüber streiten sich die Geister (such mal hier im Forum nach, gibt es einige sehr lange Diskussionen zu). Wenn du es anders lösen kannst würde ich das vorziehen - aber um dir da eine Lösung vorschlagen zu können müssten wir halt ein bisschen mehr wissen.
 

Volvagia

Top Contributor
Wenn du nur die eine brauchst, kannst dus ruhig machen. Ist auch nicht so wichtig, was legal ist, viel wichtiger ist es, dass du damit auch klarkommst.
 

Cyborg

Aktives Mitglied
@ fassy:
Schau dir mal diesen Thread an.

Ich habe eine GUI, auf welcher man Filmdaten eingeben kann.
Die Daten werden in einer HashMap gespeichert.

Da ich Probleme mit dem Konstruktor einer Ressourcen-Klasse habe, such ich eine andere Möglichkeit auf die Filmobjekte (welche ich Ausgeben möchte), zuzugreifen.

Nun bin ich soweit, dass ich die HashMap als Singleton implementiere und sowohl mit der GUI Klasse die Werte reinschreiben kann
als auch mit der Ressourcen-Klasse die Werte (bzw. das Objekt) auslesen kann.
 
G

Gast2

Gast
Wenn du nur die eine brauchst, kannst dus ruhig machen. Ist auch nicht so wichtig, was legal ist, viel wichtiger ist es, dass du damit auch klarkommst.

Das ist aber genau eins der Probleme mit dem Singleton (Anti-)Pattern.

"Ich weiß nicht woher ich eine Innstanz der Klasse XYZ bekomme. *denk* *denk* *denk* - Ach egal, ich brauch die ja nur einmal also warum nicht mit nem Singleton. Dann bekomm ich bequem die Instanz von überall her."

Eh man sich versieht hat man in einem Projekt plötzlich 4 Singleton Klassen weils ja so schön bequem ist, anstatt sich mal in Ruhe Gedanken zu machen wie man es evtl besser machen könnte.
 
G

Gast2

Gast
Ich habe eine GUI, auf welcher man Filmdaten eingeben kann.
Die Daten werden in einer HashMap gespeichert.

Da ich Probleme mit dem Konstruktor einer Ressourcen-Klasse habe, such ich eine andere Möglichkeit auf die Filmobjekte (welche ich Ausgeben möchte), zuzugreifen.

Nun bin ich soweit, dass ich die HashMap als Singleton implementiere und sowohl mit der GUI Klasse die Werte reinschreiben kann
als auch mit der Ressourcen-Klasse die Werte (bzw. das Objekt) auslesen kann.

Das klingt jetzt aber eher so nach einem Standard-MVC-Fall und dein Datenmodel als Singleton zu implementieren halte ich für eher schlecht. Nach welchen Prinzip hast du denn die Anwendung aufgebaut, kennst du MVC?
 

Cyborg

Aktives Mitglied
Das Problem ist, dass das Projekt bis morgen fertig sein muss.
MVC sagt mir was, ja.

Aber da habe ich zu wenig Erfahrung damit, um das "mal eben so" umzubauen.

Wie gesagt. Die Zeit sitzt mir bissel im Nacken (nein, ich habe nicht erst heute morgen damit angefangen)

Der Stand ist im Moment so, wie 2 Beiträge weiter drüber beschrieben.
Daraus muss ich jetzt irgendwas machen und fertig werden.

Wenn die HashMap als Singleton zu implementieren ganz schlecht ist, dann bräuchte ich aber eine Alternative die ich
1) heute noch umsetzen kann.
und 2) mein Ziel erfüllt. Sprich, ich muss in der Ressource-Klasse das Filmobjekt haben, welches beim Hinzufügen des Filmes, instanziiert wird.
 
M

maki

Gast
Diese Art von Singleton ist sehr schlecht, aber wenn du keine Alternativen kennst/kannst, bleibt dir nix anderes übrig, nimm ein Singleton, und erstarre in Scham wenn du daran denkst oder dich jemand darauf anspricht.
 
G

Gast2

Gast
Wenn die HashMap als Singleton zu implementieren ganz schlecht ist, dann bräuchte ich aber eine Alternative die ich
1) heute noch umsetzen kann.
und 2) mein Ziel erfüllt. Sprich, ich muss in der Ressource-Klasse das Filmobjekt haben, welches beim Hinzufügen des Filmes, instanziiert wird.

Um dein Ziel zu erfüllen kannst du es so machen. Viele Wege führen nach Rom. Design Fehlentscheidungen rächen sich in der Regel erst viel viel später. Wenn du mal etwas erweitern willst, systematisch Testen, Refactorn usw. Wenn dir das alles egal ist nur um fertig zu werden ist das natürlich eine Lösung - die du irgendwann mal bitter bereuen wirst. ;)
 

Cyborg

Aktives Mitglied
Das liegt alles daran, weil ich (noch) nicht richtig mit Jersey umgehen kann. *grml*

Ich könnte auch das Singleton weglassen und die Hashmaps statisch machen *lach*

Habt ihr denn keine annehmbare und in kurzer Zeit realisierbare, Alternative mehr ?
 
M

maki

Gast
Das hat doch nix mit Jersey zu tun, sondern mit GUI Entwicklung und Anwendungsdesign.
Woher die Daten kommen spielt dafür keinerlei Rolle.

Tröste dich (aber nicht aufhören zu schämen ;)), GUI mit MVC/MVP/Passive View ist ein weiterführendes Thema, nciht gerade einfach für den Einstieg.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Wie rufe ich Methoden mit einer Referenz auf eine Klasse||Objekt auf Java Basics - Anfänger-Themen 4
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
I Erste Schritte Referenz zum Knoten davor, in einer Liste Java Basics - Anfänger-Themen 4
O This-Referenz als Returnwert einer Methode? Java Basics - Anfänger-Themen 13
T Referenz einer Variable übergeben Java Basics - Anfänger-Themen 3
D Fehlen einer Referenz auf Objekt Java Basics - Anfänger-Themen 14
C Größe einer Referenz ? Java Basics - Anfänger-Themen 16
G Rückgabe einer Kopie bzw. Referenz Java Basics - Anfänger-Themen 22
Z Zugriff auf Attribute nach Zuweisung einer Referenz Java Basics - Anfänger-Themen 8
Hzrfa Objekte, Referenz Java Basics - Anfänger-Themen 5
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
O Warum bekommen wir nicht die Referenz vom zurückgegebenen Objekt? Java Basics - Anfänger-Themen 4
C Kopie oder Referenz ? Java Basics - Anfänger-Themen 5
A Binärbaum rekursiv durchsuchen und Referenz zurückgeben Java Basics - Anfänger-Themen 4
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
Y Pointer / Referenz - Theorie Java Basics - Anfänger-Themen 3
H Referenz Objekt aufrufen Java Basics - Anfänger-Themen 12
D Uebergabe per Referenz Java Basics - Anfänger-Themen 2
O Referenz - toString Java Basics - Anfänger-Themen 9
S This-Referenz Java Basics - Anfänger-Themen 6
I Referenz auf Klasse als Rückgabewert Java Basics - Anfänger-Themen 7
P Datentypen LinkedList: Kopie behält Referenz? Java Basics - Anfänger-Themen 3
J Referenz und Instanzierung Java Basics - Anfänger-Themen 25
M Referenz geht bei Zwischenspeichern verloren (ArrayList) Java Basics - Anfänger-Themen 4
8 Referenz (Pointer, Zeiger) in Java Java Basics - Anfänger-Themen 9
O This Referenz Java Basics - Anfänger-Themen 3
A top referenz bei queues Java Basics - Anfänger-Themen 1
J Rückgabe als Wert, keine Referenz Java Basics - Anfänger-Themen 3
Q Parameterübergabe - Objekt - Referenz Java Basics - Anfänger-Themen 5
C Dynamische Referenz & abstrakte Klassen Java Basics - Anfänger-Themen 3
V Frage zu Polymorphismus: Objekt der Subklasse in Referenz der Oberklasse Java Basics - Anfänger-Themen 4
T Aufgerufene Methode Inhalt der übergebenen Referenz Java Basics - Anfänger-Themen 5
B Referenz in Java Java Basics - Anfänger-Themen 5
C Referenz auf ein Objekt kopieren! Java Basics - Anfänger-Themen 2
J Methoden Referenz und Speicherplatz für Objekte reservieren Java Basics - Anfänger-Themen 2
M Wie komm ich an die Referenz eines Oberflächenelements Java Basics - Anfänger-Themen 2
A Klassenvariablen Referenz auf ein Objekt Java Basics - Anfänger-Themen 18
M Referenz Frage Java Basics - Anfänger-Themen 12
K OOP Probleme mit Objekt-Referenz in Methode Java Basics - Anfänger-Themen 6
W Die leidige Referenz-Frage Java Basics - Anfänger-Themen 9
B Arraycopy kopiert nur die Referenz?! Java Basics - Anfänger-Themen 3
S Speicheradresse auf die eine Referenz zeigt ausgeben Java Basics - Anfänger-Themen 12
E Compiler-Fehler kann Objekt-Referenz nicht erstellen Java Basics - Anfänger-Themen 3
B Referenz zu anderen Frame Java Basics - Anfänger-Themen 10
Blackskyliner Referenz ähnlicher Zugriff, aber wie? Java Basics - Anfänger-Themen 4
K Klassen this-Referenz und Klassen/Methodenaufruf Syntax Java Basics - Anfänger-Themen 3
H Objekt holen per Referenz als String. Java Basics - Anfänger-Themen 4
S Datentypen Objekt Integer Referenz Java Basics - Anfänger-Themen 5
B Referenz auf Referenz Java Basics - Anfänger-Themen 3
Luk10 Problem mit Singleton bzw statischer Referenz! Java Basics - Anfänger-Themen 16
H ArrayList Zugriffe per Referenz verkürzen? Java Basics - Anfänger-Themen 9
B Static Referenz auf Non-static Feld Java Basics - Anfänger-Themen 6
Luk10 Sinn von Instanzierung ohne Referenz Java Basics - Anfänger-Themen 7
C0FFEE Referenz auf Methode übergeben Java Basics - Anfänger-Themen 2
aze NullpointerException :Null Referenz anzeigen lassen Java Basics - Anfänger-Themen 2
N this.referenz erläuterung Java Basics - Anfänger-Themen 2
K Attribut als Referenz auf Objekt Java Basics - Anfänger-Themen 8
K 3 Threads bearbeiten 1 Referenz: Ich versteh's nicht... Java Basics - Anfänger-Themen 2
P OOP-Theorie-Frage: Referenz auf Objekt Java Basics - Anfänger-Themen 27
D Referenz auf Objekt Java Basics - Anfänger-Themen 5
P Methode BigInteger-Array übergeben als Referenz Java Basics - Anfänger-Themen 6
U null-referenz Java Basics - Anfänger-Themen 26
deetee Problem mit Referenz auf Map Java Basics - Anfänger-Themen 5
G Interface referenz probleme Java Basics - Anfänger-Themen 10
V Return - JA/NEIN - Parameterübergabe Array (Referenz) Java Basics - Anfänger-Themen 7
D enum und Referenz der umgebenden Klasse Java Basics - Anfänger-Themen 2
C Referenz Java Basics - Anfänger-Themen 11
A ClassNotFoundException: Referenz nicht aktualisiert Java Basics - Anfänger-Themen 2
P Textarea aktualisieren, Referenz fehlt Java Basics - Anfänger-Themen 4
T Die this Referenz Java Basics - Anfänger-Themen 21
D Array reverse Problem, da Referenz nicht auf tmpArray zeigt Java Basics - Anfänger-Themen 4
G primitive Datentypen als Referenz an eine Methode übergeben Java Basics - Anfänger-Themen 2
G Wie Referenz auf Objekt übergebn Java Basics - Anfänger-Themen 8
P Objekte als Attribut: Referenz oder Kopie? Java Basics - Anfänger-Themen 3
G Parameterübergabe als Referenz bzw. als Kopie Java Basics - Anfänger-Themen 4
S Prüfen, ob null Referenz? Java Basics - Anfänger-Themen 2
G Referenz-Problem Java Basics - Anfänger-Themen 3
J Referenz problem Java Basics - Anfänger-Themen 12
D tiefergehende Java-Referenz Java Basics - Anfänger-Themen 3
M Referenz auf Membervariable Java Basics - Anfänger-Themen 5
G Objektübergabe als Referenz bei RMI Java Basics - Anfänger-Themen 2
J referenz auf noch nicht erzeugte objekte? Java Basics - Anfänger-Themen 2
M Parameter als Referenz übergeben Java Basics - Anfänger-Themen 5
F Referenz Pointer oder doch nochmal neu suchen ? Java Basics - Anfänger-Themen 2
D Unterschied zwischen Referenz auf Objekt/Instanz von Objekt Java Basics - Anfänger-Themen 9
K Referenz auf Funktion Java Basics - Anfänger-Themen 6
J Referenz auf ein Objekt Java Basics - Anfänger-Themen 2
javasdann Referenz als String ausgeben. Java Basics - Anfänger-Themen 10
B Was ist eine Referenz? Java Basics - Anfänger-Themen 6
L Referenz vs. Kopie Java Basics - Anfänger-Themen 2
G Zeiger/Referenz auf int- Variable Java Basics - Anfänger-Themen 5
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben