Problem mit package und Vererbung

MarkoU

Mitglied
Hallo,
ich bin total am verzweifeln:

Ich möchte Spatz von Vogel ableiten. Beide sollen zu einem Package gehören.

Folgendes habe ich bereits

In der Datei MeinPaket/Vogel/Vogel.java
Java:
package MeinPaket.Vogel;
public class Vogel{
	protected int p;
	protected void singe(){
		System.out.println("pfeifen");
	}
}

In der Datei MeinPaket/Vogel/Spatz.java
Java:
package MeinPaket.Vogel;
public class Spatz extends Vogel{
	public static void main(String [] args){
		Vogel v = new Vogel();
		Spatz s = new Spatz();
		v.p = 5;
		v.singe();
		s.p = 6;
		s.singe();
	}
}

Vogel.java zu kompilieren funktioniert. Spatz.java funktioniert nicht.

Spatz.java:2: cannot find symbol
symbol: class Vogel
public class Spatz extends Vogel{

Ich habe schon versucht durch
Java:
import MeinPaket.Vogel.*;
in der Spatz.java die Vogel.java zu importieren, auch das misslang.

Ich bin am verzweifeln. Es muss doch möglich sein zwei Klassen in zwei Dateien in einem Paket voneinander abzuleiten.

Könnt ihr mir bitte helfen?
 
kompilierst du "von Hand", also mit [c]javac[/c]? Dann parametriesier diesen Aufruf mit [c]-cp <Pfad zum root-Verzeichnis, also oberhalb von MeinPaket>[/c].
 
Versuch es, wie faetzminator schon meinte mal mit Angabe eines Classpathes (-cp) hinter der Klasse.
Bei C:\Projekte\MeinPaket\Vogel\ wäre es dann zum Beispiel
javac Spatz.java -cp C:\Projekte

Zur Erklärung:
Mit -cp setzt du quasi den Ort, wo er nach bereits kompilierten Klassen suchen soll.
Im Moment hat er noch das Problem, dass er beim Kompilieren der Klasse Spatz nach einer Vogel-Klasses sucht, aber er im falschen Verzeichnis sucht, es da keine Klasse Vogel gibt..

Alternativ gibt es noch die Möglichkeit, das ganze einfach mit javac *.java zu kompilieren..
Für die Zukunft wäre es aber nooch viel einfacher, wenn du zum Entwickeln evtl eine IDE verwendest. 🙂
 
Ja, ich kompiliere von Hand in der Konsole. Das mit dem Parameter funktioniert, vielen Dank. Kannst du mir bitte erklären, warum ich den Parameter brauche?
 

Neue Themen


Zurück
Oben