Auf Instanz der selben Klasse aus überschriebener Methode in Methode zugreifen.

Tintenfisch

Bekanntes Mitglied
Hey,
ich möchte auf eine Instanz der selben Klasse aus einer überschriebenen Methode in einer Methode zugreifen. Aus einer Methode geschieht dies ja mit this, aber aus der überschriebenen Methode gelingt mir dies nur über Umwege.
Anbei mal ein Bsp. bei welchem die Methode "entryDateFillLiVi" vom entryField aufgerufen werden soll. In dem Beispiel ist diese Methode zwar statisch, weshalb ich mit der Klasse EntryField darauf zugreife und entryField einfach als Parameter habe, dies ist aber nur momentan provisorisch, da mir diese Info fehlt, von dort auf die eine Instanz dieser Klasse zuzugreifen. Das static dann bitte bei der Methode "entryDateFillLiVi" wegdenken.
Java:
    public void entryDateFillLiViViaDatePi (EntryField entryField) {
        this.getEntryDate().setOnAction(new EventHandler<ActionEvent>() {
            
            @Override
            public void handle(ActionEvent arg0) {
                
                EntryField.entryDateFillLiVi(entryField); // hier die provisorische Lösung 
            }
        });
    }
 
K

kneitzel

Gast
Also das ist so noch nicht 100% verständlich.

Das Problem könnte sein, dass Du eine Klasse von EntryField abgeleitet hast. Diese Klasse hat nun weitere Methoden und diese möchtest Du ggf. aufrufen:
In so einem Fall kannst Du prüfen: Ist die übergebene Instanz vom Typ der neuen Klasse - ist dies der Fall, dann machst Du einen cast und rufst die Methode auf.

Komplizierter wird es, wenn Du eine Methode hast, die ein EntryField als Argument bekommt aber das muss nicht vom neuen Typ sein. Das, was Du da machst, das geht mit allen EntryField Instanzen:
Hier kommt man dann in einen Bereich, in dem ein Ableiten von EntryField nicht zielführend ist (Mag für andere Dinge notwendig sein, aber ich betrachte nur diesen einen Punkt). Andere Sprachen (C#, Kotlin) bieten die Möglichkeit, bestehende Klassen zu erweitern. Dies bietet Java aber nicht und es bleiben dann nur Klassen, die man oft als Tool, Util oder Hilfsklassen bezeichnet. Diese bieten dann viele statische Methoden, die dann aufgerufen werden können. In Java hat man diese Klassen oft mit einem s -> Objects, Arrays, ...
Das erweitern einer Klasse ist übrigens nur syntaktischer Zucker. Unter dem Strich hat man da auch nur eine statische Methode in einer anderen Klasse. Der Compiler erlaubt dann lediglich den Aufruf auf der eigentlichen Instanz, was auch durchaus problematisch ist. (Im c# Umfeld geht es so weit, dass es eine Empfehlung gibt, dies in Libraries nicht zu verwenden!)

Diese Lösung mit den statischen Methoden ist technisch möglich. Aber generell sollte man sich über sein Design Gedanken machen um zu sehen, ob dies wirklich notwendig ist. Oft ist es einfach nur ein Zeichen für ein schlechtes Design und es empfiehlt sich, sein Model umzuändern.
Daher macht es ggf. Sinn, uns erst einmal genau zu schreiben, was Du da überhaupt machst.

Was ich hier direkt sehe: Da geht es ja um einen EventHandler - und denn kannst Du ja als solches immer und überall haben. Wenn es da eine statische Methode tut, dann reicht da evtl. schon etwas wie:
Java:
this.getEntryDate().setOnAction(new MyCoolEventhandlerClass());
Du hast also diese statische Methode in eine eigene Klasse gepackt als handle Methode. Noch nicht wirklich schön, aber denkbar.

Es gibt noch viele andere Ideen, wie Du da ein Lambda Ausdruck oder eine Methodenreferenz verwenden kannst (was ich bevorzuge, da ich diese Methoden aus dem Interface nicht mag. Da sagt der Methodenname nur aus, wo er Verwendung findet aber nicht mehr, was die Methode macht. (handle -> es wird ein Event verarbeitet. Aber was da passiert, das sagt die Methode nicht!)
 

mrBrown

Super-Moderator
Mitarbeiter
Du meinst, weil this in der anonymen Klasse nicht vom Typ EntryField sondern stattdessen EventHandler ist?

Dann ist EntryField.this die Lösung.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
H String Repräsentation eines Rechtecks mit Instanz-Methode Java Basics - Anfänger-Themen 8
O Mit Instanz von Oberklasse auf Unterklasse zugreifen Java Basics - Anfänger-Themen 2
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
T Inhalt aus TextField in Attribut einer Instanz schreiben Java Basics - Anfänger-Themen 5
F Wann ist es eine Instanz und wann nicht? Java Basics - Anfänger-Themen 1
Kirby.exe Generische Objekt Instanz erstellen Java Basics - Anfänger-Themen 14
M Java Instanz-Variablen ? Java Basics - Anfänger-Themen 3
I Instanz einer anderen Klasse zurückgeben Java Basics - Anfänger-Themen 34
G Unterschied Instanz- Klassenvariable Java Basics - Anfänger-Themen 11
F Mehrere Instanzen der Klasse A EINER Instanz der Klasse B übergeben Java Basics - Anfänger-Themen 3
F OOP Instanz einer Klasse an eine andere weitergeben Java Basics - Anfänger-Themen 16
C Instanz einer Klasse während if-Abfrage erzeugen und bei zweiter if-Abfrage wiederverwenden Java Basics - Anfänger-Themen 6
C Group, Actor und Instanz-Zugriff, LibGDX Java Basics - Anfänger-Themen 4
BadBat Klassen instanz als variable + methodenaufruf Java Basics - Anfänger-Themen 4
T Auf Instanz einer Liste zugreifen Java Basics - Anfänger-Themen 2
M Neu instanzierte Klasse übernimmt Werte von anderer Instanz Java Basics - Anfänger-Themen 4
P Instanz mit .add Methode von einer Klasse zur anderen? Java Basics - Anfänger-Themen 6
H Klassen Von Instanzvariablen auf Instanz schließen Java Basics - Anfänger-Themen 21
W Methoden Methode ohne Parameter auf Instanz eines Objekts aufrufen? Java Basics - Anfänger-Themen 14
J Variablen Unterschied zwischen lokalen-, Instanz-, Klassenvariablen Java Basics - Anfänger-Themen 6
T Junit Mockito: Instanz von inneren erzeugten Objekten Java Basics - Anfänger-Themen 4
S Klassen Instanz anderer Klasse raus geben Java Basics - Anfänger-Themen 1
B Klassen Auf Instanz anderer Klasse zugreifen Java Basics - Anfänger-Themen 1
U JavaFX eine Vbox Instanz pro Pane? Java Basics - Anfänger-Themen 2
D Instanz einer Subklasse anhand deren Superklasse Java Basics - Anfänger-Themen 5
K Zugriff auf Variabeln Wert einer Instanz Java Basics - Anfänger-Themen 4
O OOP Methoden bei erstellen einer Instanz und mehr Java Basics - Anfänger-Themen 4
S Methoden eine Instanz einer eigenen Klasse als parameter übergeben Java Basics - Anfänger-Themen 9
S Wann existiert eine Instanz (eigene Klasse) Java Basics - Anfänger-Themen 8
E Von Instanz des Dialogs auf das Frame zugreifen Java Basics - Anfänger-Themen 8
kaoZ Android Programmierung / Erstellen einer neuen Instanz Java Basics - Anfänger-Themen 2
B Variablen Instanz von Enum zur Laufzeit erstellen und zuweisen Java Basics - Anfänger-Themen 2
G Undefined Instanz/Konstruktoraufruf Java Basics - Anfänger-Themen 8
S Ein Attribut/Instanz eines bestehendes Objektes mit SETTER Methode ändern Java Basics - Anfänger-Themen 3
M Initialisierungsblock beim Erzeugen einer Instanz Java Basics - Anfänger-Themen 6
J Instanz durch String Java Basics - Anfänger-Themen 8
U final Instanz Java Basics - Anfänger-Themen 11
C Klassen Zugriff auf Instanz einer anderen Klasse Java Basics - Anfänger-Themen 9
F Array als Instanz einer Klasse Java Basics - Anfänger-Themen 8
P Klassen Instanz einer Klasse in ihrer eigenen Definition erzeugen? möglich? Java Basics - Anfänger-Themen 4
O Erste Schritte Klassenname zurückgeben, keine instanz Java Basics - Anfänger-Themen 23
0 Log4J Instanz erzeugen Java Basics - Anfänger-Themen 2
K Methoden Zustand innerhalb einer Instanz ändern Java Basics - Anfänger-Themen 2
B Geerbte Instanz kann keine void Methode ausführen?! Java Basics - Anfänger-Themen 15
pindakaas Instanz einer Klasse in einer anderen erzeugen Java Basics - Anfänger-Themen 6
L Instanz Problem Java Basics - Anfänger-Themen 4
E ActionListener erkennt instanz nicht Java Basics - Anfänger-Themen 9
M JRadioButton keine Instanz von ButtonModel Java Basics - Anfänger-Themen 10
B Daten in Instanz einer Klasse ändern / abfragen Java Basics - Anfänger-Themen 12
A Instanz einer Klasse Java Basics - Anfänger-Themen 2
S Instanz(en) einer Singleton-Klasse Java Basics - Anfänger-Themen 11
S OOP Warum gleiche Instanz der Klasse? (Factory-Muster) Java Basics - Anfänger-Themen 13
O zugriff auf eine Instanz Java Basics - Anfänger-Themen 8
U Instanz aufrufen Java Basics - Anfänger-Themen 3
A Stilfrage: statische Variable mit Instanz der gleichen Klasse Java Basics - Anfänger-Themen 8
Antoras eine Instanz von mehrere Klassen aus nutzen Java Basics - Anfänger-Themen 2
D Wie neue Instanz einer Klasse erstellen, von der ich nur eine andere Instanz kenne? Java Basics - Anfänger-Themen 13
D Servlet kann nicht auf Instanz zugreifen Java Basics - Anfänger-Themen 10
G neue Instanz von ArrayList Java Basics - Anfänger-Themen 5
G Name der Instanz einer Klasse. Java Basics - Anfänger-Themen 2
W IE Instanz öffnen / Ausführbare Datei öffnen Java Basics - Anfänger-Themen 2
G Was passiert mit eine Methode bei einer Instanz Java Basics - Anfänger-Themen 13
D vererbung, kinder einer instanz. Java Basics - Anfänger-Themen 25
D Bei Event soll Instanz sich selbst löschen Java Basics - Anfänger-Themen 4
G Vererbung mit einer Instanz aus der Superklasse Java Basics - Anfänger-Themen 2
J Generics Probleme mit instanz von T Java Basics - Anfänger-Themen 4
H OO-Anfänger: mehrere Klassen greifen auf eine Instanz zu Java Basics - Anfänger-Themen 9
H instanz von Button wird nicht erkannt! Java Basics - Anfänger-Themen 6
P Instanz mit allen Attributen ausgeben Java Basics - Anfänger-Themen 3
B Sortieren von Objekt Arrays nach einer Instanz Java Basics - Anfänger-Themen 8
E Eine Klasse hat eine Instanz von sich selbst. Java Basics - Anfänger-Themen 6
W zugriff auf jframe klasse und deren instanz geht nicht? Java Basics - Anfänger-Themen 11
G Instanz-Rückgabewerte abspeichern Java Basics - Anfänger-Themen 2
F Socket Instanz auf Klasse welche von Socket erbt zuweisen Java Basics - Anfänger-Themen 3
I In Instanz ausgeben wer sie erzeugt hat Java Basics - Anfänger-Themen 2
F nur 1 Instanz 1 Klasse --> static? Java Basics - Anfänger-Themen 10
P Instanz kann nicht erstellt werden. Java Basics - Anfänger-Themen 2
M Von Instanz auf instanzierende Klasse zugreifen Java Basics - Anfänger-Themen 5
S paintComponent, neue Instanz überschreibt wohl alte Instanz Java Basics - Anfänger-Themen 6
D Instanz von Graphics in run() Java Basics - Anfänger-Themen 8
J generische klassen neue Instanz Java Basics - Anfänger-Themen 5
D Instanz einer Klasse in einer anderen klasse erzeugen Java Basics - Anfänger-Themen 3
P Zugriff auf Instanz in der anderen Klasse geht nicht! Java Basics - Anfänger-Themen 4
N Objekt seine eigene Instanz löschen lassen? Java Basics - Anfänger-Themen 7
S will instanz einer Klasse erzeugen - mach irgendwas falsch Java Basics - Anfänger-Themen 6
T neue Instanz von JFileChooser => applikation friert ein Java Basics - Anfänger-Themen 2
D Unterschied zwischen Referenz auf Objekt/Instanz von Objekt Java Basics - Anfänger-Themen 9
F Prüfen, ob Instanz existiert Java Basics - Anfänger-Themen 14
J Brett vorm Kopf - Klasse aufrufen/instanz *?* Java Basics - Anfänger-Themen 11
M Methoden oder Instanz statisch? Java Basics - Anfänger-Themen 7
P Instanz in einer Variable speichern ? Java Basics - Anfänger-Themen 4
H Instanz einer Klasse übergeben und dynamisch auswerten Java Basics - Anfänger-Themen 3
H eindeutige Instanz erzeugen Java Basics - Anfänger-Themen 4
Csircc Neuer Array mit geringerer Länge und selben werten. Java Basics - Anfänger-Themen 2
E Methode soll andere Methode der selben Klasse aufrufen Java Basics - Anfänger-Themen 28
F Erstellen zweier Objekte mit dem selben Inhalt Java Basics - Anfänger-Themen 1
G Objekt der selben Klasse wie selbst mit Aufrufen des Konstruktors erzeugen Java Basics - Anfänger-Themen 14
F Selben Code in mehreren Projekten Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben