Eventuali duplicati: How to access java-classes in the default-package?Come importare una classe da pacchetto di default
Sto usando Eclipse 3.5 e ho creato un progetto con una certa struttura del pacchetto insieme al pacchetto di default. Ho una classe nel pacchetto predefinito - Calculations.java e voglio fare uso di quella classe in qualsiasi pacchetto (ad esempio in com.company.calc
). Quando provo a rendere l'uso della classe che è nel pacchetto predefinito, mi dà un errore del compilatore. Non è in grado di riconoscere la classe nel pacchetto predefinito. Dov'è il problema?
Calculations.java - codice sorgente
public class Calculations {
native public int Calculate(int contextId);
native public double GetProgress(int contextId);
static {
System.loadLibrary("Calc");
}
}
non posso mettere la mia classe in qualsiasi altro pacchetto. Questa classe ha alcuni metodi nativi implementati in Delphi. Se metto quella classe in una delle cartelle, dovrò apportare delle modifiche a quella DLL che voglio evitare (davvero - non posso). Ecco perché ho inserito la mia classe nel pacchetto predefinito.
Ho trovato questo collegamento: http://stackoverflow.com/questions/283816/how-to-access-java-classes-in-the-default-package dopo aver creato queste domande. –
possibile duplicato di [Qual è la sintassi per importare una classe in un pacchetto predefinito in Java?] (Http://stackoverflow.com/questions/2030148/whats-the-syntax-to-import-a-class-in-a -default-package-in-java) – Pops
Ovviamente, il bit importante di questa domanda è che la classe ** e ** il suo codice ** devono essere nel pacchetto predefinito **. A partire da ora, qualsiasi risposta diversa dall'utilizzo dell'API di riflessione * (in realtà, un eccessivo utilizzo di qualcosa di così semplice) * è ** non ** una soluzione. È sconvolgente il modo in cui Java cerca di avere la sua torta (scoraggiare il pacchetto predefinito) e mangiarlo anch'esso (rendere così JNI così complicato, la maggior parte di noi finisce per usare DLL che richiedono un pacchetto predefinito). – ADTC