PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java-Quellcode in mehrere Dateien verteilen?



iGEL
19-01-2002, 14:32
Moin!

Da es so schön war, hier gleich noch eine Frage: Mein kleines Projekt nähert sich langsam der 1000-Zeilengrenze, daher dachte ich, dass es eventuell sinnvoll ist, dieses in mehrere Dateien zu unterteilen. Das geht, soweit ich weiss, mit Packages. Nun hab ich das Problem, dass ich aus der Klasse, die ich in ein Package stecken möchte, auch auf Methoden der Ausgangsklasse zugreife. Ist sowas nicht möglich? Oder gibt es eine andere Möglichkeit, Quellcode aus anderen Dateien zu includen, wie es z. B. bei C mit #include "Datei.name" geht? Packages werden ja, so wie ich das verstanden habe, einzelnd kompiliert...

Danke schon mal,
Johannes

anda_skoa
19-01-2002, 21:52
Ansich sollte in jeder java Datei nur eine Klasse stehen.
Es kann sogar nur eine public Klasse drinnen sein, sonst regt sich der compiler auf :)

Wenn du am Anfang kein package angibts, dann kommt die Klasse ins Standardpackage.

Am Anfan kann man das so machen, wenn man die Klassen späer noch wo anders einsetzten will, kann man sie immer noch zu echten packages zusammen fassen.

Klassen des selben Packages braucht man nicht extra zu importieren.

Ciao,
_

Doc Maverick
19-01-2002, 23:17
Hi,
das schöne an den JAVA-Klassen ist, daß man i.a. keinen großen Aufwand treiben muß, um Klassen zu importieren:
Z.B. heißt Deine "Ursprungsklasse" Father und Du hast ein Package Children, das sich im gleichnamigen Unterverzeichnis befinden muß, dann kann etwa die Klasse Son mittels "import Father;" auf die oben genannte Klasse wie bei jeder anderen Klasse auch zugreifen.
Tschüß.
PS: Vielleicht gibt es ein besseres Beispiel? ;)

iGEL
21-01-2002, 20:27
Moin!

Sehr gut. Ich hatte Bedenken, sich die Klassen gegenseitig zu importieren zu lassen (da beide Methoden der anderen Klasse aufrufen), und dachte auch schon, dabei einen Fehler entdeckt zu haben, aber das war nur Doofheit (Fehlermeldungen wirklich lesen, Johannes ;)). Aber auch das geht.

Danke nochmal!

cu Johannes