给b添加一个构造函数
public B()
{}

解决方案 »

  1.   

    要根据打包的位置来编译,就你这个例子来说:
    你先到打包的上一级目录中,然后键入如下的命令 javac org/apache/mailet/A.java
    运行时,也在该目录中,java org.apache.mailet.A
      

  2.   

    我想不是构造器的原因引起的。因为如果是没有构造器的话,则提示信息会是 constructor A() not found 。我想可能的问题就是你编译的时候出的问题,参考 kennethd的帖子。
      

  3.   

    不是呀,以上的例子只是随便写的,那我把他写全点吧。
    //B.class
    package org.apache.mailet;public class B {
    B(){}
      
    }//A.java
    package org.apache.mailet;public class A extends B {  //问题出在这儿的B上。
      A(){}
    }
      

  4.   

    javac A.java 时报错:A.java : 8 : cannot resolve symbol
    symbol : class B
    location : class org.apache.mailet.A extends B
                                                 ^
      

  5.   

    是因为他找不到org.apache.mailet.B。
    你是在当前目录下编译的a.java吧。你可以在当前建立org/apache/mailt的文件夹,然后把你的b.class放在最下面的文件夹里。再次编译就可以了。