Hi,
eigentlich ist das wohl etwas, was man sehr oft braucht, dennoch konnte ich keine Lösung ergooglen (wohl die falschen suchbegriffe).
Also wie ich die Methoden einer Klasse in einer anderen Aufrufe ist mir klar:
Klassenname name = new Klassenname();
und dann anwenden mit name.methode bzw. name.parameter.
Mein Problem liegt darin, wie ich das mache, wenn ich z.b. den selben Parameter in verschiedenen Klassen benötige. Das Problem wird z.b. sehr schnell in Swing deutlich, da dort mit jeder Initialisierung das gleiche Fenster nochmals aufpoppt.
Ich hab mal versucht ein möglichst simples Beispiel des Problems zu erstellen.
Im Hauptprogramm in Klasse A sollen erst einmal alle Methoden ausgeführt werden, dann benötigt aber auch Klasse B eine initalisierung von Klasse C damit es methodeC aufrufen kann. Soll Klasse C methodeB aufrufen können, müsste ich das gleiche machen, das führt aber logischerweise zu einem Loop.
Wäre das ein Swing-Code, wäre zudem Fenster B schon 2x vorhanden.
Wie kann ich nun also die Methoden und Paramter von Klasse B z.B. in Klasse C einbinden?
nur mit B b; hab ich es schon versucht.
Der Beispielcode mit sysout macht natürlich nicht viel Sinn, aber ich denke er verdeutlicht das Problem ganz gut.
In meinem realen Problem muss ich die Parameter und methoden zwischen verschiedenen Panels und Fenstern hin und her geben und würde mir dadurch auch loops erzeugen.
Bestimmt ist die Lösung relativ simpel.
lg
eigentlich ist das wohl etwas, was man sehr oft braucht, dennoch konnte ich keine Lösung ergooglen (wohl die falschen suchbegriffe).
Also wie ich die Methoden einer Klasse in einer anderen Aufrufe ist mir klar:
Klassenname name = new Klassenname();
und dann anwenden mit name.methode bzw. name.parameter.
Mein Problem liegt darin, wie ich das mache, wenn ich z.b. den selben Parameter in verschiedenen Klassen benötige. Das Problem wird z.b. sehr schnell in Swing deutlich, da dort mit jeder Initialisierung das gleiche Fenster nochmals aufpoppt.
Ich hab mal versucht ein möglichst simples Beispiel des Problems zu erstellen.
Im Hauptprogramm in Klasse A sollen erst einmal alle Methoden ausgeführt werden, dann benötigt aber auch Klasse B eine initalisierung von Klasse C damit es methodeC aufrufen kann. Soll Klasse C methodeB aufrufen können, müsste ich das gleiche machen, das führt aber logischerweise zu einem Loop.
Java:
public class A{
public static void main(String[] args) {
B b = new B();
C c = new C();
System.out.println("Klasse A ruft methodeB:");
b.methodeB();
System.out.println("Klasse A ruft methodeC:");
c.methodeC();
}
}
Java:
public class B {
B(){
C c = new C();
System.out.println("Klasse B ruft methodeC:");
c.methodeC();
}
public void methodeB(){
System.out.println("Test B");
}
}
Java:
public class C {
//Erzeugt Loop
/*C(){
B b = new B();
System.out.println("Klasse C ruft methodeB:");
b.methodeB();
}*/
public void methodeC(){
System.out.println("Test C");
}
}
Wäre das ein Swing-Code, wäre zudem Fenster B schon 2x vorhanden.
Wie kann ich nun also die Methoden und Paramter von Klasse B z.B. in Klasse C einbinden?
nur mit B b; hab ich es schon versucht.
Der Beispielcode mit sysout macht natürlich nicht viel Sinn, aber ich denke er verdeutlicht das Problem ganz gut.
In meinem realen Problem muss ich die Parameter und methoden zwischen verschiedenen Panels und Fenstern hin und her geben und würde mir dadurch auch loops erzeugen.
Bestimmt ist die Lösung relativ simpel.
lg