У меня есть два пакета.Первый содержит пустой интерфейс и класс, реализующий его в одном файле («IThing» и «Thing»).Второй содержит другой интерфейс («IThingUser»), в котором есть функция, возвращающая объект типа «Вещь».
Когда оба файла являются частью одного пакета, все работает нормально, но если они находятся в двухотдельные пакеты, один в package2 не может получить доступ к классу, определенному в первом пакете.
Package1 содержит следующий файл:
package project.package1;
public interface IThing {
}
final class Thing implements IThing {
private int thingField;
public int thingFieldGetter(){
return thingField;
}
}
И package2 имеет:
package project.package2;
import project.package1.IThing;
public interface IThingUser {
public IThing someFunction(); // Works fine
public Thing anotherFunction();
// "Thing" is not recognized when the two files are in separate packages.
}
Почему это происходит?Есть ли способ исправить эту проблему, сохранив эту архитектуру?
PS: Я знаю, что структура этого не имеет особого смысла, но я не кодировал package1, и я должен использовать его как есть.