介绍
class, interface, or enum expected
错误是 Java 中常见的编译时错误。当缺少大括号、方法在类外部定义,或在单个文件中声明了多个包时,通常会发生此错误。在本实验中,我们将讨论如何在 Java 中解决此错误。
class, interface, or enum expected
错误是 Java 中常见的编译时错误。当缺少大括号、方法在类外部定义,或在单个文件中声明了多个包时,通常会发生此错误。在本实验中,我们将讨论如何在 Java 中解决此错误。
在 ~/project
目录下使用以下命令创建一个名为 Demo.java
的新 Java 文件:
touch Demo.java
将以下代码复制并粘贴到 Demo.java
文件中:
package com.example;
public class Demo {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
public class SomeClass {
// do something
}
保存文件并在终端中运行以下命令:
javac Demo.java
你应该会看到以下错误信息:
Demo.java:6: error: class, interface, or enum expected
public class SomeClass {
^
1 error
此错误表明在主类 Demo
之外存在一个额外的类。
将以下代码复制并粘贴到 Demo.java
文件中:
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));
}
}
保存文件并在终端中运行以下命令:
javac Demo.java
你应该会看到以下错误信息:
Demo.java:7: error: ';' expected
System.out.print("The Sum is: " + (a + b));
^
1 error
此错误表明在 main
方法的末尾缺少一个大括号。要修复此错误,请在 print
语句后添加一个闭合大括号:
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));
}
}
保存文件并再次运行以下命令:
javac Demo.java
这次代码将成功编译,不会出现任何错误。
将以下代码复制并粘贴到 Demo.java
文件中:
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));
}
}
保存文件并在终端中运行以下命令:
javac Demo.java
你应该会看到以下错误信息:
Demo.java:3: error: class, interface, or enum expected
package com.example.test;
^
1 error
此错误表明在同一文件中声明了多个包。在 Java 中,每个文件只能声明一个包。要修复此错误,请删除多余的包声明:
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));
}
}
保存文件并再次运行以下命令:
javac Demo.java
这次代码将成功编译,不会出现任何错误。
class, interface, or enum expected
错误可能由多种原因引起,例如缺少大括号、方法定义在类外,或者单个文件中存在多个包声明。通过本实验中的步骤,你应该能够轻松解决此错误。记得检查代码中是否有缺失的大括号,并确保每个文件中只有一个包声明。