Понимаю, что вопрос скорее глупый. Нужно создать два класса в разных пакетах и импортировать метод из одного класса в другой. Вопрос, как правильно создать эти два класса в idea? Я создал два проекта, в каждом класс в своём пакете, в idea иимпртировать один в другой и запустить получается, но командной строкой не выходит. Потом создал один проект и в нем два класса в разных пакетах и вроде структура каталогов выглядит логичнее, но собрать каждый класс в .jar не получается. Какой из способов верен?
В Java можно импортировать только статические методы. Привожу простой пример того, как это делается. Класс из первого пакета:
package package1;
public class ClassOne {
public static void sayHello() {
System.out.println("Hello, world");
}
}
Класс из второго пакета:
package package2;
import static package1.ClassOne.sayHello;
public class ClassTwo {
public static void main(String[] args) {
sayHello();
}
}
При выполнении метода main
класса ClassTwo
в консоль будет выведен результат метода sayHello()
класса ClassOne
.
Я создал два проекта, в каждом класс в своём пакете, в idea иимпртировать один в другой и запустить получается, но командной строкой не выходит.
Чтобы при запуске класса из одного jar-файла он видел другой нужно добавить его в аргументы запуска classpath
(или cp
):
java -cp project1.jar project2_main_class
Потом создал один проект и в нем два класса в разных пакетах и вроде структура каталогов выглядит логичнее, но собрать каждый класс в .jar не получается
Нет необходимости собирать классы одного проекта в отдельные jar-файлы. Собирайте весь проект в один и запускайте:
java -jar project.jar
Какой из способов верен?
Если ваши классы используются только для реализации общей функциональности и один без другого смысла не имеют, то нужно держать их вместе (упаковывать в одну библиотеку). В противоположном случае - каждый из них включает какой-то свой функционал и они могут быть использованы в других проектах, то можно упаковывать в отдельные библиотеки и подключать при необходимости.
Виртуальный выделенный сервер (VDS) становится отличным выбором
В данном API есть функции рисования полигона и ломаных линийПосле рисования полигона нужно произвести разметку прямыми линиями как это показано...