Класс доступа из другого пакета

У меня есть две папки в папке с именем asdsad

.
├── a
│   └── A.java
├── b
│   └── B.java

Это мой А.Ява

package asdsad.a;

public class A {
    public A() {

    }

    public int number;
}

Это моя Б.Ява

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 ответ

Решение

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

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

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

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

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

Опять не так. Это должно было быть javac asdsad/b/B.java,

Другие вопросы по тегам