本来不应该来问这个问题的,因为论坛里都有很多资料,但我都搜了,并试过,没用.进行了如下测试:
状态:A放置在C:\STUDY 目录下,B放置在C:\STUDY\X 目录下并属于X包
问题:现在我想在B中调用A的,编译都无法通过尝试过的方法:
方法一:
在命令提示符下转到C:\STUDY\ 目录下运行 javac -classpath . X\B.java
方法二:
在命令提示符下转到C:\STUDY\ 目录下运行 set classpath .;C:\STUDY
再运行 javac X\B.java
方法三:
设置环境变量:classpath=.;C:\STUDY;三个方法出现同样的错误提示:
--------------------------------
X\B.java:4: 找不到符号
符号:变量 A
位置:类 X.B
           A a = new A();
                     ^
2 错误
--------------------------------是不是还有什么地方不对啊,我在编写其它代码的时候都没问题啊,就是这一个类的访问出毛病啊

解决方案 »

  1.   

    给A一个package,然后B里面import pkg.A
    不然两个不在一个包下怎么可能被你调用
      

  2.   

    可不可以不放在package中用呢?
    因为A的另一个使用要求它不能放在package中
      

  3.   

    什么叫要求它不能放在package中?
      

  4.   

    A不放在pkg里B怎么能调用它呢
    这需求怎么这么怪的
      

  5.   

    放在包中肯定可以import进来使用阿
      

  6.   

    B.java 开头要有:
    package X;在A中要有
    import X.B;
      

  7.   

    A中无法import X.B
    因为B.java要得到A的实例都无法实现,编译通不过还是无法解决
    import 只能加载classpath中的jar文件吗?
    有没有方法可以直接去使用一个没有package的单独的类
      

  8.   

    第一种方法
    设置环境变量:classpath=.;C:\STUDY\X;
    然后你在命令提示符下到C:\STUDY这个目录下面运行程序第二种方法,在B中你先把package注释掉,然后把B和A复制到一个文件夹中运行,运行后在把B复制掉X中,在把B中的package添加上去,然后在编译B,这个方法肯定可以行的。
      

  9.   

    请楼主,把详细的代码贴出来,然后把存放A,B文件的目录,classpath等说清楚。
      

  10.   

    若无法时,可将a class放道\jre\lib\ext下,