Ответ 1
Вы должны указать полный путь, который хотите импортировать.
import com.my.stuff.main.Main; import com.my.stuff.second.*;
Итак, в вашем основном классе у вас будет:
package com.my.stuff.main import com.my.stuff.second.Second; // THIS IS THE IMPORTANT LINE FOR YOUR QUESTION class Main { public static void main(String[] args) { Second second = new Second(); second.x(); } }
EDIT: добавление примера в ответ на комментарий Shawn D
Существует еще одна альтернатива, как указывает Shawn D, где вы можете указать полное имя пакета для объекта, который вы хотите использовать. Это очень полезно в двух местах. Во-первых, если вы используете класс ровно один раз:
class Main {
void function() {
int x = my.package.heirarchy.Foo.aStaticMethod();
another.package.heirarchy.Baz b = new another.package.heirarchy.Bax();
}
}
В качестве альтернативы это полезно, если вы хотите различать два класса с одним и тем же коротким именем:
class Main {
void function() {
java.util.Date utilDate = ...;
java.sql.Date sqlDate = ...;
}
}