Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich hab eine Frage. Es ist mir für dieses Projekt strikt untersagt ein IDE zu verwenden, daher muss ich mit javac direkt kompilieren.
Wie kann ich mit javac aber mehrere Dateien für das selbe Projekt kompilieren?
Beispiel:
Film.java
Java:
package projectX;
class Film {
String title;
}
Main.java
Java:
package projectX;
import projectX.Film;
class Main {
public static void main(String[] args){
Film x = new Film();
x.title = "Kuchen";
System.out.println("x heisst " + x.title);
}
}
Wie kompiliere ich das jetzt, sodass ich dann die Main.class über den Javabefehl benutzen kann? Ich hab testweise einfach mal "javac *.java" gemacht, gab keine Fehler aus und hat zwei class-Dateien erstellt. Kann jedoch beide nicht ausführen, er findet jeweils die "main class" nicht.
Wenn ich die Dateien einzeln kompiliere kommt bei der Main bei jedem Vorkommen von "Film" (auch schon im Import) ein Fehler...
das mit "javac *.java" ist soweit schon richtig ...
und das problem mit dem ausführen verstehe ich nicht *hier wäre mal der genau stack wichtig* ...
nur wenn du auf ner console bist musst du dich auch im richtigen pfad befinden
btw : wenn beide klassen im selben package sind musst du diese nicht importieren ...
bespiel
deine daten haben das package "project" ...
also müssen diese auch im entsprechenden ordner "project" innerhalb des aktuellen verzeichnisses befinden
dann musst du nur noch den richtigen pfad angeben
Code:
javac project\*.java
java project.Main
wenn du ohne eine IDE angefangen hättest java zu lernnen könntest du das auch
*genau das ist der grund warum ich der meinung bin : anfänger sollten die finger von IDE's lassen*
Danke dir, das hat geklappt. Hab versucht direkt im Package-Ordner dann "java Main" zu machen und das hat natürlich nicht funktioniert.
Ja, IDEs verwöhnen einen. Hab schon einige größere Projekte realisiert und jetzt kann ich mit der Konsole nichtmal ordentlich kompilieren... Aber das hol ich ja jetzt nach
Die class muss man übrigens nicht manuell auf public setzen, das geht auch ohne (ich glaube public ist Standard für classes, wenn nichts anderes angegeben ist).
Wieso kann ich dann mit "class" statt "public class" die Main-Class versehen und trotzdem aufrufen? Ist das weil ich sie durch "java project.Main" quasi von innen aufrufe?
package-private ist für Methoden default.
Für Klassen ist public default. Etwas anderes als public ist nichtmal erlaubt für Klassen (Ausnahme: Inner-Classes)