Klassen Importieren

pindakaas

Mitglied
Hallo liebe leute,
Ich verzweifel gerade daran eine Klasse zu Compilieren weil ich es nicht hinbekomme ihr interface zu importieren.

Diese zwei Klassen liegen im gleich Verzeichnis wenn einfach mal einer posten könnte was genau man da rein schreiben muss wäre das super
ich hab schon versucht in Betrag
Java:
package pack;
und in Preis
Java:
import pack.Betrag;
zu setzen aber ich raff einfach nich wie man das macht und die Erklärungen auf diversen Seiten erläutern auch immer nicht erst mal grundlegend für im gleichen Verzeichnis liegende Dateien sondern immer gleich mit tieferen Verzeichnissen und weiß der Teufel was.

Wäre wirklich dankbar für hilfe^^

[/code]
Java:
public interface Betrag {
    int berechneBetrag();
}

Java:
public class Preis implements Betrag {
    
    int derPreis;
    
    public Preis(int p) { derPreis = p>=0 ? p : 0; }
    
    public int berechneBetrag() { return derPreis; }
}
 
Moin,

Klassen die im gleichen Verzeichnis liegen müssen nicht importiert werden

richtig, es sei denn das Preis wo anders liegt ...

Schon mal mit
Java:
public class Preis implements pack.Betrag 
{
versucht ?

Oder beschreib' mal genauer welches Problem Du beim Compilieren konkret hast resp. welcher Fehler auftritt 😉

Gruß
Klaus
 
javac gibt das hier aus:
Betrag wurde erfogreich mit
Code:
javac  -g -verbose Studium/DAP/javac/Betrag.java

compiliert liegt also im gleichen verzeichnis wie ich auch in meinem Dateimanager sehen kann.

Code:
Studium/DAP/javac/Preis.java:4: cannot find symbol
symbol: class Betrag
public class Preis  implements Betrag{
                               ^
[loading java/lang/Object.class(java/lang:Object.class)]
[checking Preis]
[total 381ms]
1 error

PS: ich verwende die Klassen jetzt so wie sie im ersten Post sind.
 
Zuletzt bearbeitet:
Moin,

Laut seiner Aussage liegen Preis und Betrag im gleichen Verzeichnis, daher verstehe ich diese Aussage nicht recht.

ok, irgendwie hatte ich am Ende des einleitenden Bandwurmsatzes
Diese zwei Klassen liegen im gleich Verzeichnis wenn einfach mal einer posten könnte was genau man da rein schreiben muss wäre das super
ich hab schon versucht in Betrag

und in Preis

zu setzen aber ich raff einfach nich wie man das macht und die Erklärungen auf diversen Seiten erläutern auch immer nicht erst mal grundlegend für im gleichen Verzeichnis liegende Dateien sondern immer gleich mit tieferen Verzeichnissen und weiß der Teufel was.
wohl den Anfang schon wieder verdrängt 😀
 
@pindakaas
hast du jemals erfolgreich Klassen geschrieben, die in einem package liegen und sich gegenseitig verwenden?
du bist in diesem Thread ja schon etwas zurückgegangen, mit Interface und Preisberechnung aber noch etwas Overhead,

so einfach wie möglich denken kann alles etwas klarer machen:
Java:
public class A {
}

public class B {
 A a;
}
wäre mit ensprechenden imports ein annehmbares Beispiel,

so, dazu gibt es zu bedenken:
wenn eine Klasse X in einem package y liegt, dann muss die Datei X.java auch zwingend in einem Unterverzeichnis y liegen,
aus der gesamten Struktur ergibt sich für jedes Java-Projekt ein Grundverzeichnis (dort liegen dann auch die Klassen ohne package-Angabe)

ganz dringend sollten die javac und java-Aufrufe exakt von diesem Verzeichnis aus erfolgen, nicht wer weiß wo sonst im Dateisystem

[c]Studium/DAP/MeinProjekt1/:> javac pack/Betrag.java[/c]
 
Meine Programmierumgebung hat das immer irgendwie gemacht.
Ich habe schon unendlich viele funktionierende Klassen geschrieben ^^.

Was auch immer jetzt anders ist es geht plötzlich^^ Betrag und Preis kompilieren brav ^^


Mir fällt soo ein unendlichgroßer Stein vom Herzen.^^ endlich kann ich mit meinem eigentlichen Problem dem Adapter weitermachen

PS: sorry wenn ich jezt eure erklärungen ins nichts laufen lass aber das war halt auch nie Thema in der Vorlesung und vorerst reicht immer in einem Verzeichnis bleiben aus.(bin grad am lernen für ne Klausur)
 

Zurück
Oben