Java и класс без пакета

ifani

Народ, кто-нить знает, как можно использовать в коде класс, который не входит ни в один пакет?
например:

NoPackageClass.java
==================
public class NoPackageClass
{
public static void m {}
}
UseNoPackageClass.java
=====================
package SomePackage;
import NoPackageClass; // С импортом идея подсвечивает всё нормально, но при компиляции хочет в конце "."
// А если import убрать, то "cannot resolve symbol: variable NoPackageClass in class SomePackage.UseNoPackageClass"
public class UseNoPackageClass
{
public static void main(String[] args)
{
NoPackageClass.m;
}
}
Кто-нибудь решал подобную проблему?
З.Ы.:
пока только в яндексе искал - сейчас гуглить буду, но может, кто-нить и так знает....

enochka1145

Eclipse 3.2 не в силах помочь. Разве что всегда предупреждает "! The use of the default package is discouraged."
Я к тому, что похоже это не решаемо.

gopnik1994

а нафига?

ifani

А вот есть джарник (не наш) и в нём у одного класса надо вызывать метод.
А этот класс без пакета (многие обфускаторы пакеты убирают) (
Сейчас попробую через рефлекшн....

ifani

В общем, нашёл в инете ещё посты на эту тему - там тоже не предложили никаких решений.
Но если кому интересно, то через рефлекшн всё-таки всё получилось
Так что, если есть возможность им воспользоваться, то как вариант...

enochka1145

Да, это очень интересно. Ты имеешь в виду Class.forName("className")?

ifani

ага, а потом getMethod и invoke

enochka1145

Действительно, что может быть изящнее:
public class UseNoPackageClass {
public static void main(String[] args) throws Exception {
Class.forName("NoPackageClass").getMethod("m", new Class[0]).invoke(null, new Object[0]);
}
}

ifani

стопудей
Оставить комментарий
Имя или ник:
Комментарий: