定义一个包,比如 X
里面有 a.java与 b.java 
a.java已经编译成 a.class 
现在想让 b 继承 a这个是 a.java里写的
package X;
public class a{
  //省略
}
我在 b.java 里写:
package X;
public class b extends a{
  //省略
}在编译时b出错。。说找不到 a 请教各位,要怎么处理??

解决方案 »

  1.   

    要写import package x 导入这个包
    要把package X放在与b.java 同一个目录下 就好了
      

  2.   

    要将a和b源文件放在同一目录下,编译了a之后,再编译b
      

  3.   

    编译过程:E:\Tomcat\webapps\ROOT\classes\X>javac A.java
    E:\Tomcat\webapps\ROOT\classes\X>javac B.java
    B.java:3:找不到符号
    符号:类A
    public class B extends A{
                           ^
    1 错误
      

  4.   

    源代码是:
    A.java-----------------package X;public class A{
    public String getName(){
    return "A";
    }
    }B.java-----------------package X;public class B extends A{
    public String getName(){
    return "B";
    }
    }
      

  5.   

    两个文件都存放在
    /WEB-INF/classes/X 目录下
      

  6.   

    import  X.A;public class B extends A{
    public String getName(){
    return "B";
    }
    }
    把这2个文放在同一个目录下    
    就ok了
      

  7.   

    同个包是不用采用 import 语句的。
    如果没有记错,默认的情况下,javac 会在你编译 B.java 的时候检查是否存在 A.class,不存在的话就查找并编译 A.java,当然先编译 A.java也没有问题的。不过你前面运行 javac 的目录不对,应该在包的跟目录运行:
    E:\Tomcat\webapps\ROOT\classes>javac X/A.java
    E:\Tomcat\webapps\ROOT\classes>javac X/B.java