2 Stimmen

Eclipse-Pakete und -Ordner und so weiter

Ich bin ein Projekt mit Eclipse zu erstellen, aber bin nicht vertraut mit ihrer Ordnerstruktur. Ich möchte einen Ordner erstellen, um eine Reihe von Spielobjekten eines bestimmten Typs zu speichern (ein Versuch der Organisation), aber sie erweitern eine Klasse aus einem anderen Ordner... Wenn ich versuche, dies zu tun, erhalte ich die Fehlermeldung, dass die Klasse nicht in einen Typ aufgelöst werden kann... Wenn ich das gleiche Spielobjekt im Ordner der Superklasse erstelle, funktioniert es einwandfrei...

Wie kann ich Klassen aus einem anderen Ordner erweitern?

Wie erstelle ich einen Ordner in der Arbeitsbereichsansicht, der die Verweise zwischen den Ordnern nicht beeinträchtigt?

3voto

Aoife Punkte 1676

Ich gehe davon aus, dass Sie in Java entwickeln.

Java-Pakete werden direkt auf Verzeichnisse unterhalb Ihres Quellverzeichnisses abgebildet, indem Sie . durch / (oder \ in Windows) ersetzen. Wenn Sie etwas wie dieses haben möchten:

src --+-- dir1 -+-- Foo.java
      |         +---Bar.java
      +   dir2 ---- Baz.java

Um dann auf die Klasse Baz in Foo.java zu verweisen, verwenden Sie dir2.Baz . Als Abkürzung können Sie Folgendes hinzufügen

import dir2.Baz;

am Anfang von Foo.java und verweisen auf die Klasse Baz einfach als Baz .

1voto

Mikael Ohlson Punkte 2592

Es ist auch durchaus möglich, die Lösung auf mehrere Quellordner aufzuteilen, sie aber trotzdem im selben Paket zu haben. Das macht die Organisation des Quellcodes allerdings nicht besonders "organisiert" oder schön.

Dann kann jedes Quellverzeichnis ein Paket mit genau demselben Namen enthalten (da der Verzeichnisteil des Paketnamens immer relativ ist), und wenn alles kompiliert ist, werden sie zum selben Paket gehören.

Hier ist ein praktische Referenz .

Das würde in etwa so aussehen

workspace --+-- src1 -- mypackage + -- Foo.java
            |                     + -- Bar.java
            +-- src2 -- mypackage + -- Baz.java

in dem Sie weiterhin auf alle Inhalte der Dateien zugreifen können, ohne sie explizit zu importieren.

0voto

Rob Punkte 47351

Ich gehe davon aus, dass es sich um ein Java-Projekt in Eclipse handelt; falls nicht, geben Sie bitte weitere Informationen.

Wenn Sie Klassen aus verschiedenen Paketen verwenden, müssen Sie diese importieren. Dies geschieht mit einer oder mehreren Import-Anweisungen am Anfang der Klassendatei, etwa so:

import java.util.List;
import java.util.ArrayList;

Dies sagt dem Compiler: "Wenn ich mich auf List beziehe, möchte ich diejenige verwenden, die in der java.util Paket".

In Eclipse können Sie versuchen, diese Importanweisungen automatisch hinzuzufügen, indem Sie mit der rechten Maustaste in den Quellcode-Editor klicken und unter "Source" die Option "Organize Imports" auswählen. Eclipse sieht sich den gesamten Code und die Bibliotheken an, die es für dieses Projekt kennt, und versucht, fehlende Importe aufzulösen. Wenn es nicht klappt, wird es Sie entweder darauf hinweisen oder es ignorieren. Wenn es mehrere Möglichkeiten findet, werden Sie normalerweise aufgefordert, die gewünschte auszuwählen.

Eine ausführlichere Erklärung von Paketen und der Aufteilung des Quellcodes finden Sie in der Pakete Unterricht in den Java-Tutorials.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X