pepp1995 ha scritto:
Non mi è chiaro come sia possibile far riferimento ad una classe mediante l'utilizzo del "nome completo" del suo Package.
Basta mettere nel sorgente il nome completamente qualificato di un tipo, ovviamente in tutti i punti dove lo si usa.
Es. invece di fare:
import java.util.Random;
tecnicamente si può fare:
java.util.Random rnd = new java.util.Random();
Quindi il tipo Random è completamente qualificato nel tipo della variabile e nel riferimento al costruttore. E così sarebbe ovunque nel sorgente.
pepp1995 ha scritto:
Ho provato a settare il CLASSPATH come: .;C:\Users\PC\Desktop\mioPackage\classeAuto
Nel classpath NON ci vanno i nomi di package ma solo le directory "base", ovvero quelle che contengono i package "radice".
Se il .class (il compilato) l'hai fatto andare nella stessa directory del .java (scenario basilare se non si sceglie un'altra destinazione per i class), allora lo avrai in:
C:\Users\PC\Desktop\mioPackage\classeAuto\Auto.class
Se hai messo all'inizio
package mioPackage.classeAuto; allora:
a) in CLASSPATH va messo
C:\Users\PC\Desktop (NON C:\Users\PC\Desktop\mioPackage, NON C:\Users\PC\Desktop\mioPackage\classeAuto)
b) nella classe AutoTest o fai:
import mioPackage.classeAuto.Auto;
o in generale
import mioPackage.classeAuto.*;
e poi usi solo Auto
... oppure usi OVUNQUE il nome qualificato:
mioPackage.classeAuto.Auto
pepp1995 ha scritto:
è possibile effettivamente utilizzare una classe di un package che NON sia quello della cartella: java nella root : src SENZA doverla per forza IMPORTARE ??
La domanda non è molto chiara. Ma in generale: o importi un tipo .... o usi il nome completamente qualificato del tipo ovunque.
E i tipi nel package di "default" non si possono importare, perché chiaramente non ha un nome.