代码之家  ›  专栏  ›  技术社区  ›  Sparker0i

从另一个包访问类

  •  0
  • Sparker0i  · 技术社区  · 7 年前

    我在一个叫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 回复  |  直到 7 年前
        1
  •  2
  •   user207421    7 年前

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

    已经错了。你应该在包含它的文件夹中。一个上来。

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

    但你还是错了。你应该处死的 javac asdsad/a/A.java .

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

    又错了。应该是的 javac asdsad/b/B.java .

    推荐文章