Beheben des Fehlers 'Class Interface or Enum Expected'

JavaJavaBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Der Fehler class, interface, or enum expected ist ein häufiger Kompilierungsfehler in Java. Er tritt auf, wenn eine geschweifte Klammer fehlt, eine Methode außerhalb einer Klasse definiert ist oder mehrere Pakete in einer einzigen Datei deklariert werden. In diesem Lab (Übungsbeispiel) werden wir besprechen, wie man diesen Fehler in Java behebt.

Erstellen einer Java-Datei

Erstellen Sie eine neue Java-Datei mit dem Namen Demo.java im Verzeichnis ~/project mit dem folgenden Befehl:

touch Demo.java

Erzeugen des Fehlers "Class Interface or Enum Expected"

Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei Demo.java ein:

package com.example;
public class Demo {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
public class SomeClass {
    // do something
}

Speichern Sie die Datei und führen Sie den folgenden Befehl im Terminal aus:

javac Demo.java

Sie sollten die folgende Fehlermeldung sehen:

Demo.java:6: error: class, interface, or enum expected
public class SomeClass {
^
1 error

Dieser Fehler zeigt an, dass es eine zusätzliche Klasse außerhalb der Hauptklasse Demo gibt.

Prüfen auf fehlende geschweifte Klammer

Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei Demo.java ein:

package com.example;

public class Demo {
    public static void main(String[] args) {
        int a = 10, b = 15;
        System.out.print("The Sum is: " + (a + b));
    }
}

Speichern Sie die Datei und führen Sie den folgenden Befehl im Terminal aus:

javac Demo.java

Sie sollten die folgende Fehlermeldung sehen:

Demo.java:7: error: ';' expected
        System.out.print("The Sum is: " + (a + b));
                                                  ^
1 error

Dieser Fehler zeigt an, dass am Ende der main-Methode eine geschweifte Klammer fehlt. Um den Fehler zu beheben, fügen Sie eine schließende geschweifte Klammer nach der print-Anweisung hinzu:

package com.example;

public class Demo {
    public static void main(String[] args) {
        int a = 10, b = 15;
        System.out.print("The Sum is: " + (a + b));
    }
}

Speichern Sie die Datei und führen Sie den folgenden Befehl erneut aus:

javac Demo.java

Diesmal wird der Code ohne Fehler kompiliert.

Beheben des Fehlers bei mehreren Paketen

Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei Demo.java ein:

package com.example;

package com.example.test;

public class Demo {
    public static void main(String[] args) {
        int a = 10, b = 15;
        System.out.print("The Sum is: " + (a + b));
    }
}

Speichern Sie die Datei und führen Sie den folgenden Befehl im Terminal aus:

javac Demo.java

Sie sollten die folgende Fehlermeldung sehen:

Demo.java:3: error: class, interface, or enum expected
package com.example.test;
^
1 error

Dieser Fehler zeigt an, dass in derselben Datei mehrere Pakete deklariert wurden. In Java kann pro Datei nur ein Paket deklariert werden. Um den Fehler zu beheben, entfernen Sie die zusätzliche Paketdeklaration:

package com.example;

public class Demo {
    public static void main(String[] args) {
        int a = 10, b = 15;
        System.out.print("The Sum is: " + (a + b));
    }
}

Speichern Sie die Datei und führen Sie den folgenden Befehl erneut aus:

javac Demo.java

Diesmal wird der Code ohne Fehler kompiliert.

Zusammenfassung

Der Fehler class, interface, or enum expected tritt aus verschiedenen Gründen auf, wie z. B. einer fehlenden geschweiften Klammer, einer Methode außerhalb einer Klasse oder mehreren Paketen in einer einzigen Datei. Indem Sie die Schritte in diesem Lab befolgen, sollten Sie in der Lage sein, diesen Fehler leicht zu beheben. Denken Sie daran, den Code auf fehlende geschweifte Klammern zu prüfen und sicherzustellen, dass es pro Datei nur eine Paketdeklaration gibt.