Вы импортируете класс, который находится в папке bin. Не делай так, чтобы это не сработало. Вам не нужно импортировать, потому что классы находятся в одном месте. Сделайте пакет в папке sr c и поместите туда классы. Удалите package grade.util
и переименуйте его в пакет, в который вы помещаете классы.
Структура файла:
src
\
\
yourpackage
\
\
LetterGrader.java TestLetterGrader.java
Затем удалите все в папке сборки и скомпилируйте классы. Java сделает его магией c. Вам нужно беспокоиться о папке bin, она предназначена только для хранения скомпилированных классов.
Классы будут выглядеть так:
//package name that you created
package yourpackage;
public class LetterGrader {
//need to be public when calling from another class
public void readArgs() {
System.out.println("Hello, read CLA!");
}
}
И
//folder that you placed the .java files
package yourpackage;
//without any import
public class TestLetterGrader {
public static void main(String[] args) {
LetterGrader letterGrader = new LetterGrader(); // instantiate
letterGrader.readArgs(); // call method
}
}
Ваш второй вопрос:
Вы можете использовать классы из других папок, но вы должны импортировать их, и они должны находиться в папке sr c.
Скажите, что у вас есть класс A. java в папке Second и класса B. java в папке Main. В этом случае вы импортируете папку import Second.A;
, а затем вызываете класс A a = new A();
Если у вас есть метод, который вы хотите вызвать, просто выполните: a.yourmethod();
Вам нужно изменить private void ...
на public void...
, потому что вы не можете вызывать private вне класса.
Когда вы запускаете скомпилированные классы, они должны находиться в одной папке.