java报错“main class test could not be found or loaded”通常源于两个关键错误:源文件名与public类名不一致,以及未执行javac编译就直接用java命令运行源码。
在Java中,public类的名称必须严格等于其所在源文件的文件名(包括大小写)。观察你的代码:
public class Main { // ← 公共类名为 Main
public static void main(String[] args) {
// ...
}
}
该类声明为 public class Main,因此源文件必须命名为 Main.java,而非 Test.java。若你当前文件名为 Test.java,JVM在加载时会查找 Test.class 中的 public class Test,但实际只存在 Main.class,从而触发 Main class Test could not be found or loaded 错误。
此外,Java是编译型语言,.java 源文件不能被JVM直接执行。必须先通过 javac 编译器生成字节码文件(.class),再由 java 命令加载运行。常见误区是跳过编译,直接执行: