意外的运行时错误:无法加载主类

时间:2013-02-19 00:36:10

标签: java

我正在尝试使用一些代码来更好地理解访问修饰符。在我添加了一行代码之后,一切都运行良好

class SomeClass2 {

  protected static void method4() { }
  protected static int x=0;
}
class SomeClass3 extends SomeClass2{

    int c=SomeClass2.x;
    public void somemethod() //Everything was compiling fine until
    {                        //Until I added this method
    SomeClass2.method4();
    }
}
class DemoClass1{
      public static void main(String[] parameters) {
    SomeClass2 sc = new SomeClass2();
    SomeClass3 sc1 = new SomeClass3();

    sc.method4();
    System.out.println(sc1.c);
sc1.somemethod();

  }
}

我收到错误:Could not find or load main class DemoClass1 所有类都属于同一目录和相同的包。环境变量也都设定了。在我添加somemethod()之前,它正在编译并正常运行。它编译得很好,但没有运行。

2 个答案:

答案 0 :(得分:2)

我没有看到您提供的代码有任何明显错误。

您是否重命名了该文件?

JVM将查找名称与文件名完全相同的类中的main方法。在这种情况下,您的文件应命名为

DemoClass1.java

答案 1 :(得分:0)

您的代码没有错。将每个类保存在各自的文件中(DemoClass1.javaSomeClass2.javaSomeClass3.java)。

编译和执行的所有内容都很好,无论是否有somemethod