Класс доступа из другого пакета
У меня есть две папки в папке с именем 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
,