Класс доступа из другого пакета - PullRequest
0 голосов
/ 03 июня 2018

У меня есть две папки в папке 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 голосов
/ 03 июня 2018

Теперь я нахожусь в моем терминале внутри папки asdsad

Уже неверно.Вы должны быть в папке, в которой он находится.One up.

Я выполняю javac a / A.java, у меня нет ошибок.

Но вы все равно ошибаетесь.Вы должны были выполнить javac asdsad/a/A.java.

Но когда я пытаюсь выполнить javac b / B.java

Снова неверно.Это должно было быть javac asdsad/b/B.java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...