//文件A.java
package a;public class A {

}
//文件B.javaimport a.*;class B extends A {

}//文件结构
d:\Ljava\
A.java
B.javajavac -d . A.java
成功javac B.java
出现如下错误B.java:3: cannot access A
bad class file: .\A.java
file does not contain class A
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
class B extends A {
                ^
1 error
请问为什么会出现这样的错误?

解决方案 »

  1.   

    找不到类A啊
    把文件夹a放到类路径去,或在classpath里加上文件夹的路径看可不可以
      

  2.   

    javac -d . A.java
    成功这个已经生产我要导入的包。
      

  3.   

    import a.*;class B extends A {}
    此句没有Package ?;
      

  4.   

    你把A.java放到d:\Ljava\a\里面去*************
    *  葵花点穴手  *
    *************
      

  5.   

    我是这样想的
    如果你在代码导入java包,比如
    import java.io.*;
    这个包不是在当前路径,却可以被加载,
    说明在java中导入包的路径也是被事先确定的
    我想你路径设置还是不对,用IDE吧,就不会有这样的事了
      

  6.   

    解决办法: 把原文件A。java删除  或者把A。java放到目录a中
      

  7.   

    可以使用命令行 javac -verbose B.java 然后你可以看到编译的过程中,需要做的工作
    其中一项就是:分析源文件, 所以要么没有源文件A,要么A在正确的目录下(a目录)