同一个包两个类AA和BB中,想在类AA中调用BB,但是AA在editplus编译通不过。package bao;public class AA 
{
    public AA()
    {
System.out.println("this is AA");
    } public BB getBB()
{
BB bb = new BB();
                   return bb;
}
}--------
package bao;public class BB 
{
    public BB()
    {
System.out.println("this is BB");
    }}------
BB用editplus编译通过
AA用editplus编译通不过. 请问是什么原因? (奇怪的是,我去AA和BB中的package bao;才可以编译通过) 
是不是有包时,要在editplus设置编译方式?--------
AA抛出错误如下:
---------- javac ----------
AA.java:10: cannot resolve symbol
symbol  : class BB 
location: class bao.AA
public BB getBB()
               ^
AA.java:12: cannot resolve symbol
symbol  : class BB 
location: class bao.AA
BB bb = new BB();
                ^
AA.java:12: cannot resolve symbol
symbol  : class BB 
location: class bao.AA
BB bb = new BB();
                            ^
3 errorsOutput completed (1 sec consumed) - Normal Termination

解决方案 »

  1.   

    1、确保两个文件放在同一个bao目录下
    2、set classpath=你的目录名
      

  2.   

    试问BB编译通过有没有自动生成bao目录。javac -d . BB.java,参数中加-d . 。你咋用editplus?用JC包你通过。
      

  3.   

    先编译bb.java,放到bao目录下,然后就可编译AA了
      

  4.   

    我把 bao放在E: (E:\bao 有AA.java   BB.java 文件)也设了classpath = E:\
    别外环境变量也设置好。(因为没有加package bao;时可以编译通过)可是还是不行
      

  5.   

    to ntzls(三星堆) 我是这样用editplus的: 
    ①. 点击Editplus的“工具/配置用户工具”菜单,在弹出的窗口中的“ 组和工具项目” 下拉列表中选择一个组,点“ 组名称” 按钮,为该组起一个标志性名称。
    ②. 点击“添加工具/应用程序”按钮,将“菜单文本”设置为“ 编译”,点击“命令”栏右边的按钮,找到“ javac.exe”文件的存放路径,并打开它。点击“参数”栏右边的向下箭头,选择“文件名”。点击“初始目录”栏右边的按钮,选择“文件目录”。
    ③. 将“捕获输出”复选框选中。(此为关键之处)
    ④. 再次点击“新工具/程序”按钮,将“菜单文本”设置为“ 运行”,点击“命令”栏右边的按钮,找到 “java.exe”文件的存放路径,并打开它。点击“参数”栏右边的向下箭头,选择 “不带扩展名的文件名”。点击“初始目录”栏右边的按钮,选择“文件目录”。
    ⑤. 将“捕获输出”复选框选中。(此为关键之处)
    ⑥. 确定。难道对带有包的.java,editplus还要设置其他的选项? 请指教
      

  6.   

    解决了。
    多加一个参数。 -d . $(FileName)多谢上面三位,特别是 ntzls(三星堆)