Differenze tra le versioni di "Java/Classi e oggetti"

m
 
Il Classpath serve, per dirgli dove sono solo i nostri package.
il classpath si setta nelle variabili utente del sistema.
 
Per windows:
Pannello di Controllo - Sistema - Avanzate - Variabili d'ambiente - Variabili utente
 
Per linux da shell:
export CLASSPATH= /home/giovanni/mieclassi
 
Attenzione: nel capitolo installazione abbiamo parlato della variabile PATH che quì non c'entra niente, sono due cose molto diverse, alcuni le confondono.
La variabile PATH fa riferimento agli eseguibili java come i programmi java, javac, jar, ed altri, mentre la CLASSPATH punta alle classi.
 
Per esempio i file archiviati Helloworld sono in /home/giovanni/mieclassi/ .
Per usare le classi dei package bisogna scrivere la parola chiave <tt>import</tt>.
Precisamente <source lang=java>import nomedelpackage;</source>
Vogliamo riusare le classi che abbiamo già fatto. Per farlo dobbiamo dire all'interprete dove sono le classi e in contemporanea quali sono. Dove e quali...
 
Se volessimo richiamare le nostre classi, prima archiviate, dovremo farescrivere nel codice
<source lang=java>import saluti.inghilterra.*;</source>
dove "saluti.inghilterra" stastanno ad indicare la directory e sottodirectory e l'asterisco i nomi dei file (asterisco = vogliamo tutti i file).
L'interprete inserirà, prima della directory "saluti", il percorso del classpath e così troverà lindirizzo assoluto delle classi archiviate, vedrà anche l'asterisco e quindi ad ogni chiamata andrà a prendere il file corrispondente. Se non mettessimo l'asterisco dovremo mettere il nome preciso del file.class. Invece e quasi sempre, abbiamo bisogno di riusare molte classi e perciò è comodo l'asterisco.
 
Faremo questo codice per i saluti in inglese:
 
<source lang=java>
 
import saluti.inghilterra.*;
 
class Test{
public static void main(String [] args){
 
HelloWorld inglese = new HelloWorld();
inglese.faisaluto();
 
}
}
 
</source>
 
Lo compileremo a riga di comando così:
javac -classpath /home/giovanni/mieclassi/ Test.java
 
Lo eseguiremo a riga di comando così:
java -classpath ./:/home/giovanni/mieclassi/ Test
 
Attenzione tra il primo classpath e il secondo c'è una differenza ed è il "." punto.
il classpath si può settare anche nelle variabili utente del sistema e in questo modo non siamo più costretti a digitare un interminabile comando con opzioni strane con il rischio di sbagliare, ma basta solo un " "java"o un "javac".
 
Per windows:
Pannello di Controllo - Sistema - Avanzate - Variabili d'ambiente - Variabili utente .
Ad esempio:
.;C:\Java\mieclassi
 
Per linux da shell:
ad esempio
export CLASSPATH= ./:/home/giovanni/mieclassi
 
Attenzione: nel capitolo installazione abbiamo parlato della variabile PATH che quì non c'entra niente, sono due cose molto diverse, alcuni le confondono.
La variabile PATH fa riferimento agli eseguibili java come i programmi java, javac, jar, ed altri, mentre la CLASSPATH punta alle classi.
Attenzione è importante il "." punto nel classpath che rimanda ai file presenti nella dir corrente: questo è importante se vogliamo eseguire (comando "java") i file. class che abbiamo compilato (comando "javac") o che sono comunque presenti in questa stessa dir . Se lo omettiamo potremmo non poter eseguire i programmi: la JVM non trova i file.class nella dir corrente perchè li cerca altrove.
 
Spessissimo, avremo bisogno di accedere alle classi contenute nei packages del JDK.
222

contributi