PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie importiert man in Java Klassen die in keinem package liegen?


Senior Sanchez
2005-10-13, 13:54:20
Hi,

also langsam zweifle ich an mir.
Ich habe ne Klasse im package kapitel1 und dazu brauch ich zwei Hilfsklassen "In" und "Out". Da mehrere klassen auch aus anderen packages diese beiden Klassen importieren müssen, wollte ich diese halt ohne package-Angabe ganz oben in die Hierarchie stellen. Nur wie importiere ich das dann?
ein "import In;" nimmt mir der Compiler im JBuilder einfach nicht ab, weil er zwingend nen Punkt erwartet.
Sicher könnte ich die beiden Klassen jetzt in nen util-Package verschieben, was ich auch machen werde, nur interessiert mich das jetzt, warum ich diese beiden klassen ohne Package-Angabe nicht importiert bekomme.

Abe Ghiran
2005-10-13, 14:13:12
Das geht nicht, denn alle Klassen liegen in einem package. Klassen ohne explizite Packageangabe landen in einem unnamed package. Da dieses keinen Namen hat, kann man Klassen die darin liegen auch nicht importieren. Es ist Implementierungen sogar freigestellt, solche Klassen intern auf mehrere unnamed packages zu verteilen.

Grüße, Jan

Senior Sanchez
2005-10-13, 14:57:53
Das geht nicht, denn alle Klassen liegen in einem package. Klassen ohne explizite Packageangabe landen in einem unnamed package. Da dieses keinen Namen hat, kann man Klassen die darin liegen auch nicht importieren. Es ist Implementierungen sogar freigestellt, solche Klassen intern auf mehrere unnamed packages zu verteilen.

Grüße, Jan

Hmm, ok, was mich nur gewundert hat, weil da bei mir auch ne Sun-Klasse HTMLConverter ist die in nem unnamed package liegt.

Köppchen
2005-10-13, 22:30:10
HTMLConverter beinhaltet die main Methode und wird sicher andere Klassen (com.sun...) importieren.
Ich vermute das ist damit man den HTML Konverter ohne einen ewig langen Package Pfad einfach aus der Befehlszeile aufrufen kann (obwohl das inzwischen mit java -jar ... schöner ginge).
Aus der Doku (Aufruf):
java HTMLConverter [ filespecs ] [-simulate] [-options1 value1 [-option2 value2 [...]]]

Gruß Markus

Senior Sanchez
2005-10-13, 22:32:08
HTMLConverter beinhaltet die main Methode und wird sicher andere Klassen (com.sun...) importieren.
Ich vermute das ist damit man den HTML Konverter ohne einen ewig langen Package Pfad einfach aus der Befehlszeile aufrufen kann (obwohl das inzwischen mit java -jar ... schöner ginge).
Aus der Doku (Aufruf):
java HTMLConverter [ filespecs ] [-simulate] [-options1 value1 [-option2 value2 [...]]]

Gruß Markus

Da ist natürlich was dran, jupps. Ich denke das wird auch der Sinn sein, aber in dem Moment habe ich mich wohl verrannt.
Die Klassen liegen jetzt im util-package *g*

Abe Ghiran
2005-10-13, 23:18:32
Kleine Frage nebenbei, stammt dieser HTMLConverter aus dem 1.5er jdk oder der EE? Ich kann den nämlich bei mir nicht finden (bin bei irgendeinem 1.4er hängen geblieben).

Edit: Hat sich erledigt, bin gerade fündig geworden :)

Grüße, Jan