• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Java wie Import einer Class mit xCode ???

utratama

Macoun
Registriert
29.06.04
Beiträge
123
Hallo,

mal eine Frage.
Ich versuche gerade mal mit Java anzufangen und muss von einer Beispiel CD eine class per Import einbinden.

Das Verzeichnis mit Datei heißt derzeit: Prog1Tools/IOTools.class


Wo muss ich ggf. diese Datei hinkopieren (Java 1.5 ist aktiv), bzw. wie lautet dann die korrekte "import"-Anweisung dafür ?

Bevor Vorschläge kommen á la "Nimm doch lieber Eclipse oder Netbeans" - mache ich gerne, wenn ich weiß, wie dort der korrekte Import fuktioniert.

Vielen Dank im Voraus !

Viele Grüße,
Matthias
 
Hallo,

für den Import ist zunächst einmal wichtig, dass du weisst, ob die Klasse einen "Package"-Pfad hat oder nicht. Unten habe ich mal eine Erklärung zu Packages von Wikipedia reinkopiert.

Gibt es kein Package, genügt es, die Klasse zu deinen anderen Klassen zu kopieren und mit
Code:
import KLASSENNAME
die Klasse bekannt zu machen.

Konkretes Beispiel (Klassenname = JavaDuke)
Code:
import JavaDuke

Solltest Du die Klasse in einem Package liegen, so solltest Du die Ordnerstruktur des Packages nachbauen, dann zu deinen anderen Klassen legen und mit
Code:
import PACKAGE.KLASSENNAME
die Klasse bekannt zu machen.

Konkretes Beispiel (Packagename= com.sun.java ; Klassenname = JavaDuke)
Code:
import com.sun.java.JavaDuke

wikipedia schrieb:
Zusammengehörige Klassen werden in Paketen (englisch packages) zusammengefasst. Diese Pakete ermöglichen die Einschränkung der Sichtbarkeit von Klassen, eine Strukturierung von größeren Projekten sowie eine Trennung des Namensraums für verschiedene Entwickler. Die Paketnamen sind hierarchisch aufgebaut und beginnen im Allgemeinen mit dem (umgekehrten) Internet-Domainnamen des Entwicklers. (Pakete, die von Sun erstellt werden, beginnen z. B. mit „com.sun.“) Klassennamen müssen nur innerhalb eines Paketes eindeutig sein. Hierdurch ist es möglich, Klassen von verschiedenen Entwicklern zu kombinieren, ohne dass es zu Namenskonflikten kommt. Die Hierarchie der Paketnamen hat allerdings keine semantische Bedeutung. Bei der Sichtbarkeit zwischen den Klassen zweier Pakete spielt es keine Rolle, wo sich die Pakete in der Namenshierarchie befinden. Klassen sind entweder nur für Klassen des eigenen Paketes sichtbar, oder für alle Pakete.
Java bei Wikipedia
 
Also ich habe verschiedene .Class Dateien, die in einem Verzeichnis stehen:

Verzeichnis: Prog1Tools/IOTools.class usw.

Es gibt auch noch eine Zip-Datei, mit dem Namen "Prog1Tools.zip"

Tschuldigung, ich bin in der Sache totaler Anfänger.

Ich habe in xCode nirgendwo etwas gefunden, wo ich das einstellen kann.
Ich habe auch schonmal sowohl das Verzeichnis, wie auch die ZIP-Datei in das Source-Verzeichnis kopiert und dann per
"import Prog1Tools.IOTools;" bzw. per "import static Prog1Tools.IOTools.*;" versucht, einzubinden.

Das kann doch nicht so schwer sein, ich komme mir langsam richtig alt vor, dass ich sowas offenbar nicht mehr kapiere...

Bitte um Hilfe !

Danke !
 
Ja, die habe ich auch vorliegen.
Und was mache ich damit ?
Viele Grüße.
 
Leg sie zu deinen Klassen.... also das was du importieren musst
 
Hmmm.....

Es FUNKTIONIERT :-D !

Danke !!!!

Aber eine Frage erlaube ich mir dann doch noch...

Wieso ?

Viele Grüße !
 
Import ist eine Anweisung für den Compiler, damit holt er sich beim Unwandeln die entsprechenden Objekte. Damit er mit diesen arbeiten kann, musst Du ihm die natürlich zur Verfügung stellen. Das machst Du entweder übers einkopieren der Sourcen oder übers einbinden in den Classpath.
 
Jetzt geht es auch unter xCode !
:p

Es musste unter der Library des Benutzers ein Verzeichnis "/Java/Extensions/" erstellt werden.


Dort die gepackten Classes und ggf. Sourcen rein und Xcode beschwert sich nicht mehr :-)

Vielleicht hilft das auch jemanden, der mal vor dem gleichen Problem steht.

Viele Grüße !