Можно создать дубликат: How to access java-classes in the default-package?Как импортировать класс из пакета по умолчанию
Я использую Eclipse 3.5 и я создал проект с какой-то пакет структуры вместе с пакетом по умолчанию. У меня есть один класс в пакете по умолчанию - Calculations.java, и я хочу использовать этот класс в любом пакете (например, в com.company.calc
). Когда я пытаюсь использовать класс, который находится в пакете по умолчанию, он дает мне ошибку компилятора. Он не может распознать класс в пакете по умолчанию. В чем проблема?
Calculations.java - исходный код
public class Calculations {
native public int Calculate(int contextId);
native public double GetProgress(int contextId);
static {
System.loadLibrary("Calc");
}
}
Я не могу поставить свой класс в любом другом пакете. Этот класс имеет некоторые собственные методы, которые реализованы в Delphi. Если я поместил этот класс в любую из папок, мне придется внести изменения в ту DLL, которую я хочу избежать (на самом деле - я не могу). Вот почему я поместил свой класс в пакет по умолчанию.
Я нашел эту ссылку: http://stackoverflow.com/questions/283816/how-to-access-java-classes-in-the-default-package после создания этих вопросов. –
Возможный дубликат [Что такое синтаксис для импорта класса в пакет по умолчанию в Java?] (Http://stackoverflow.com/questions/2030148/whats-the-syntax-to-import-a-class-in-a -default-package-in-java) – Pops
Конечно, важный вопрос заключается в том, что класс ** и ** его код ** должны быть в пакете по умолчанию **. На данный момент любой ответ, кроме использования API отражения * (действительно, излишний для чего-то такого простого) * является ** не ** решением. Удивительно, как Java пытается получить свой торт (препятствовать пакету по умолчанию) и съесть его (сделать JNI настолько запутанным, большинство из нас в конечном итоге использует библиотеки DLL, которые требуют пакета по умолчанию). – ADTC