从另一个包访问类

时间:2018-06-03 06:03:25

标签: java java-package

我在名为asdsad

的文件夹中有两个文件夹
.
├── a
│   └── A.java
├── b
│   └── B.java

这是我的A.java

package asdsad.a;

public class A {
    public A() {

    }

    public int number;
}

这是我的B.java

package asdsad.b;
import asdsad.a.A;

public class B {
    public B() {

    }

    public int n = 5;

    public static void main(String[] args) {
        A a = new A();
        System.out.println(a.number);
    }
}

现在我在asdsad文件夹里面的终端。我执行javac a/A.java,我没有任何错误。但是当我尝试javac b/B.java时,我得到了这些错误:

b/B.java:2: error: cannot find symbol
import asdsad.a.A;
               ^
  symbol:   class A
  location: package asdsad
b/B.java:12: error: cannot find symbol
        A a = new A();
        ^
  symbol:   class A
  location: class B
b/B.java:12: error: cannot find symbol
        A a = new A();
              ^
  symbol:   class A
  location: class B
3 errors

1 个答案:

答案 0 :(得分:2)

  

现在我在asdsad文件夹里面的终端

错了。您应该在包含它的文件夹中。一上来。

  

我执行javac a / A.java,我没有任何错误。

但你仍然错了。你应该执行javac asdsad/a/A.java

  

但是当我尝试javac b / B.java

再次错了。应该是javac asdsad/b/B.java