2017-11-17 2 views
0

Ich bin auf der Anfänger-Ebene in JAVA und Schwierigkeiten beim Verständnis dieses Szenarios.Andere Java-Dateiname als der Klassenname in Eclipse-IDE

Ich habe gelesen, dass der Name der Klasse mit dem Namen der Datei übereinstimmen sollte, die das Programm enthält. Im angehängten Bild habe ich zwei Klassen und der Name der Klassendatei unterscheidet sich von dem der Klassen, die das Programm haben.

Wenn in cmd kompiliert wird, zeigt es Fehler wie erwartet, aber warum der Eclipse-Compiler hier keinen Fehler gibt?

Eclipse Image

Antwort

0

Es gibt keine Fehler während der Kompilierung entweder in cmd oder Eclipse. Da bist du neu dafür. Sie müssen schauen, was öffentliche Klasse und Klasse ist.

Ich würde eher gesagt, dass der Dateiname und der Klassenname muss den gleichen Namen haben, aber nicht streng. Nun, da du Anfänger bist, verstehe das einfach. Wenn Sie sich mit Java vertraut machen, können Sie über die JLS

Graben gehen, die Erklärung kann Ihnen helfen, zu verstehen.

Ich erstelle ein ähnliches Projekt wie Ihres.

enter image description here

Sie sehen also, es eine A.java ist aber Box und BoxDemo Klasse innerhalb A.java enthalten. Was passiert beim Kompilieren? Unten ist die generierte Klassendatei, wenn Sie kompilieren.

enter image description here

Es gibt keine A.class. Warum? Sie sollten über mehr öffentliche Klasse und Klasse lesen, genau wie ich erwähne.

Unten ist das andere Beispiel Java-Klasse.

enter image description here

Und unten ist die generierten Klassendateien.

enter image description here

Hoffnung diese Ihnen helfen, zu verstehen, wie es funktioniert.

+0

Danke. Also habe ich aus Ihrem Kommentar gelernt, dass, solange die Klasse nicht öffentlich ist, der Dateiname nicht mit dem Klassennamen übereinstimmen muss. Können Sie eine Referenz oder ein Lesematerial bereitstellen, das die Logik dieses Verhaltens angibt? Ich werde groß zu dir sein. – Prabhat

0

In Java muss der Name der Klasse und der Name der Datei, die das Programm enthält, nicht übereinstimmen. Wenn die Klasse öffentlich ist, sollte sie für den Klassennamen und den Quelldateinamen den gleichen Namen haben.

Verwandte Themen