C:\myjava>java a
Exception in thread "main" java.lang.NoClassDefFoundError: a (wrong name: A)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302
这个错误是不是我JAVA的环境没有配置好还是怎么回事??
运行的代码是这个:
class A{
public A() {
System.out.println("A");
}
}
class B extends A{
public B(){
System.out.println("B");
}
public static void main(String[] args){
B b=new B();
}
}

解决方案 »

  1.   

    还是不好,现在出现的问题是这个了:
    C:\myjava>java A
    Exception in thread "main" java.lang.NoSuchMethodError: main
      

  2.   

    靠,糊涂了,还是糊涂.
    我现在用的代码是:
    class lesson22
    {
    public static viod main(string[] args)
    {
    int x=6;
      if (x<3)
    { system.out.println("x<3");
    system.out.println("ok");
    }
    else
    system.out.println("x>+3");
    }
    }
    运行时候出来的就是这个错误了:
    C:\myjava>java lesson22.java
    Exception in thread "main" java.lang.NoClassDefFoundError: lesson22/java
      

  3.   

    朋友是不是文件名保存的时候错了应该是B.java
      

  4.   

    你编译时是少了个c了javac lesson22.java
    还有就是类名的头一个字母最好大写要养成良好的习惯
      

  5.   

    然后再java lession22就可以了试试吧
      

  6.   

    不是拉,我之前的JAVAC   C 过了.现在在运行就不好了,出现了这种错误.
    请问一般出现下面的错误提示是怎么产生的?        at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
      

  7.   

    我这几次出helloworld没有问题,出到一些书上的事例就会有类似这种显示
            at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    郁闷死了,害的以为写错了,后来多了,也麻木了.于是删除重装JAVA,还是这样.好痛苦啊
      

  8.   

    java 的类名第一个字母必须是大写,且声明为public 的类名要和文件名相同
      

  9.   

    谁说类名一定要大写开头的也不声明public的..你哪里学的
      

  10.   

    文件名是A.java,那么Class A一定要声明为public的,且main()方法要放到Class A中
      

  11.   

    main方法中,引用类出错,可能是你引用了没有的类或者是你的类名和文件名不一样吧
      

  12.   

    怎么能JAVA A  main是在类B中啊。你JAVA B就能成功
      

  13.   

    你的第二个程序错误太多了,要注意大小写啊!而且你直接用java lesson22.java.应该是javac lesson22.java通过后用java lesson22