![]() |
Java: StackOverflowError
Hallo,
bei meinem momentanen Java Projekt bin ich auf diese Fehlermeldung gestoßen und werde sie nicht mehr los. Die gesamte Fehlermeldung sieht so aus: Zitat:
Zu den einzelnen Zeilen, die die Fehlermeldung verursachen: Bezirk0 Zeile 52: Zitat:
Zitat:
Zitat:
Die einzigen Informationen, die ausgetauscht werden sind "Räume" in Form von: Ort Raum1; Raum1 = new Ort(); usw... Der letzte Fehler befindet sich in der Klasse Bezirk3 Zeile 8: Zitat:
Ja, meine JavaKenntnisse sind sehr schwach, aber bei dieser Fehlermeldung blicke ich überhaupt nicht mehr durch. Schon mal vielen dank im vorraus für alle posts MfG Aranval |
Okay, ein Freund hat mir gerade weiter geholfen.
Der Fehler liegt darin, dass sich die Bezirke immer wieder ineinander gegenseitig erstellen. Das das nicht gut gehen ist mir dann auch klar... Aber wie kriege ich es hin, dass die einzelnen Klassen ohne Beschränkung aufeinander zugreifen können, ohne, dass ich sie sich gegenseitig als Attribut erstellen lasse? Sie sind alle in einem Ordner, aber wenn ich die Attribute wegmache kommt diese typische "non-static geht nicht bei static"- Fehlermeldung. |
probiers mal mit:
Bezirk0 bezirk0 = new Bezirk0(); |
@MOEP_BIBER
Bezirk0 Bezirk0 = new Bezirk0(); ist zwar ein sehr unschöner Stil aber glaube syntaktisch und semantisch korrekt. Ansonsten sind zwar wenige informationen zu deinem Problem aber ich glaube folgendes könte vielleicht helfen. public interface BezirkIF{ } public class Bezirk0 implements BezirkIF { Arraylist<BezirkIF> others = new Arraylist<BezirkIF>() public Bezirk0() { ... } public void add(BezirkIF bezirk){ others.add(bezirk); } public static void main(String[] args) { Bezirk0 bezirk0 = new Bezirk0(); Bezirk1 bezirk1 = new Bezirk1(); Bezirk2 bezirk2 = new Bezirk2(); bezirk0.add(bezirk1); bezirk1.add(bezirk2); bezirk2.add(bezirk0); } } |
Okay...ich würd es gern mal probieren...
Muss ich dafür eine neue Klasse erstellen? Und kommt dann der ganze Code in die neue Klasse oder nur ein Teil? |
Naja ich wei sja nicht was du alles hast aber nach dem was ich so rausgehört habe müsstest du deine Klassen eher dementsprechend erweitern.
Was meinen Code angeht war das eher ein Wink in eine mögliche Richtung, ob das deinem Problem entspricht musst du entscheiden. |
wenn deine bezirk klassen alle gleich aufgebaut sind, warum schreibst du dann nicht einfach eine klasse bezirk und erstellst von ihr objekte.. die bezirke könnten dann über getter und setter wie du es brauchst gegenseitig auf sich zu greiffen.
Code:
public class Bezirk was soll dein programm eigentlich machen? welche aufgabe erfüllt es? vielleicht kann man dir dann besser helfen ;) |
Naja Abgabe für das Projekt war heute und ich hatte es jetzt anders gelöst. Wie es eben ihm Rahmen meiner bescheidenen Fähigkeiten möglich war.
Ich hab jetzt einfach die 105 Attribute die ich brauche in einer Klasse erstellt. War zwar umständlich, aber ich wollte es ja unbedingt so machen. Hätte ich mehr Zeit gehabt, hätte ich mich vielleicht mit einer anderen Variante beschäftigt. Trotzdem danke an alle Helfer =) ich weiß jetzt wenigstens, was ich das nächste Mal probieren kann |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.