Klassen Nested Class In Nested Class

Lyras

Mitglied
Hey! Ja, ich schon wieder 😕

Ich habe mal ein wenig meine Klassen aufgeräumt, damit mein Projekt übersichtlicher ist und habe ziemlich viele Klassen von meinem Event-System noch übrig. Kurzerhand habe ich also alle Listener-Interfaces in ein Interface namens "Listener" gepackt und das schön nach Funktion und Zugehörigkeit sortiert. Dieses eine Interface kann ich prima nutzen, um die Events "abzufeuern" und die sollten auch funktionieren.

Was schon eher Probleme macht sind die Event-Klassen
Code:
public class Event extends EventObject {
     //Konstruktor

     public class GUI {

          public class TickEvent extends Event {

          //Konstruktor        

          }

     }

}
Wie unschwer zu erkennen ist, habe ich eine eingebettete Klasse in einer eingebetteten Klasse. Nun kommt es zu meinem Problempunkt:

Code:
    protected void onTick () {
     
        EventHandler.fireEvent( /* Hier soll dann das Event rein*/ );
         // Das Event ist dann "Event.GUI.TickEvent( *Parameter* )"
     
    }

Wie um alles in der Welt ruft man den Konstruktor einer eingebetteten Klasse in einer eingebetteten Klasse auf bzw. geht das überhaupt? Wie man das bei einer einzigen eingebetteten Klasse macht, weiß ich, aber bei zweien?

Ich hoffe, mein Problem ist gut genug geschildert und ihr könnt mir weiterhelfen. 🙄
MFG ~Lyras
 
Eingebettete Klassen halt ich eh in 90% der Fälle für ganz schlechten Stil. Warum machst du nicht einfach eigene Klassen daraus?
 
Wie um alles in der Welt ruft man den Konstruktor einer eingebetteten Klasse in einer eingebetteten Klasse auf bzw. geht das überhaupt? Wie man das bei einer einzigen eingebetteten Klasse macht, weiß ich, aber bei zweien?
Das geht genauso wie bei zweien: ((new Event()).new GUI()).new TickEvent().
Die Klassen static machen wäre aber sinnvoll, wenn du es unbedingt mit Nested Classes machen willst, ich würd dir davon abraten. Zum Strukturieren besser packages nutzen
 

Zurück
Oben