giovedì 4 aprile 2013

package

Package

Un package in Java permette di raggruppare in un'unica entità complessa classi Java
logicamente correlate.

Fisicamente il package è una cartella del nostro sistema operativo;

Per eleggere una cartella a package, una classe Java deve dichiarare nel suo codice la sua appartenenza a quel determinato package, oltre a risiedere fisicamente all’interno di
essa.

L’istruzione package deve essere assolutamente la prima in un file Java.
 
Si può importare la classe singola o l’intero package. Le istruzioni di import seguono quelle del package.
Vediamo il codice delle classi Stampe e Principale:
package pc1.pc2;
public class Stampe {
       public void scriviQualcosa() {
             System.out.println("!");
       }
}
e
package pc1;                                
public class Principale {                           
       public static void main(String[] args) {
          Stampe s = new Stampe();
       }                                   
}
I comandi package indicano a quale package appartiene la classe. Principale è nel package pc1 mentre Stampe è nel package pc1.pc2. Se si vuole usare la classe Stampe, che è pubblica, si può o importare la singola classe import pc1.pc2.Stampe; oppure l’intero package import pc1.pc2.*; . Attenzione al fatto che sebbene pc2 sia fisicamente dentro pc1 non sono lo stesso pacchetto e pc2 non è una classe ma un pacchetto a se stante, quindi queste sintassi import pc1.*; non funziona perché stiamo importando tutte le classi di pc1 ma Stampe non è in quel pacchetto.
Una ultima soluzione invece che importare classi o pacchetti è quella di indicare il percorso completo della classe pc1.pc2.Stampe s = new pc1.pc2.Stampe();.
Quindi tutte queste modifiche singolarmente fanno compilare Principale:
package pc1;                                
import pc1.pc2.*;
public class Principale {                           
       public static void main(String[] args) {
           Stampe s = new Stampe();
       }                                   
}
package pc1;                                 
import pc1.pc2.Stampe;
public class Principale {                           
       public static void main(String[] args) {
           Stampe s = new Stampe();
       }                                   
}
package pc1;                                
public class Principale {                           
       public static void main(String[] args) {
           pc1.pc2.Stampe s = new pc1.pc2.Stampe();
       }                                   
}

In ogni programma java c’è un package senza nome. Lo scopo di questo package di default è per la comodità quando si sviluppano piccole applicazioni.
Il package Java.lang è unico importato in automatico in tutti i programmi.

Nessun commento:

Posta un commento