如题,有A,B两个类,如果去掉package,在当前目录下可成功编译B;如加上则出现 
cannot resolve symbol
symbol  : class A
错误。如何解决请指教。
package hello;
public class A {
 int a=0;
 public int getA(){
 return this.a;
}
 public void setA(int a){
 this.a = a;
}
}
-----------------
package hello;
public class B {
A a = new A();
}

解决方案 »

  1.   

    .
    +--hello
        +----A.java
        +----B.java
      

  2.   

    是编译器找不到A,我都是用ide,用命令行不知道怎么解决。
    最多把A加到环境变量里。
      

  3.   

    你是用 javac hello.B 吗?
      

  4.   

    我用jcreator试过以上两个程序,编译没有问题
    如果你用命令行编译,则会有问题
      

  5.   

    按照dreamover(梦醒了)的说法,建立hello目录,把这两个java文件放到hello目录下,
    在hello目录下执行javac *.java就可以
    执行的时候跑到hello目录的外面,执行java -cp . hello.B
      

  6.   

    如果使用命令行:在hello目录下 首先 javac A.java   编译A.java假设你的hello目录位于 C:\ 继续在hello目录下使用 javac -classpath C:\ B.java-classpath 后面的参数使用包的上层目录的绝对路径
      

  7.   

    "按照dreamover(梦醒了)的说法,建立hello目录,把这两个java文件放到hello目录下,
    在hello目录下执行javac *.java就可以
    执行的时候跑到hello目录的外面,执行java -cp . hello.B"上面这段说明有2个问题:第一:如果在hello目录下面还有子目录,里面有其他类文件的时候,怎么办?如果用javac *.java根本不行,报告说找不到下面的子目录的类。第二:执行的时候应该是在hello的上级目录输入:java hello.B。