Java Package

Un package è un “contenitore” che raccogliere al suo interno una serie di classi, o anche altri packages, in qualche modo logicamente legati tra loro. 

Raggruppando le classi affini in package, miglioriamo l’organizzazione del codice e impediamo i conflitti tra classi con nomi uguali: ad esempio due classi di nome Prova possono coesistere in due package diversi, senza che ci sia nessun errore di compilazione o altro.

Java fornisce diversi package in cui sono presenti varie classi, suddivise per funzionalità, come ad esempio java.io che contiene le classi per l’input e l’output.  Si può anche creare un proprio package, utilizzando la keyword package come prima riga del file .java.

Più precisamente, se si desidera creare una classe A che appartenga al package mypackage, allora sarà necessario scrivere all’interno del file A.java

package mypackage;
public class A {
...
corpo della classe
...
}

In questo caso, al momento della compilazione verrà generata una directory denominata mypackage ed il file A.class verrà automaticamente posizionato in tale directory. Nell’eventualità in cui si voglia creare un ulteriore package (denominato mypackage2), annidato all’interno di mypackage, si dovrà scrivere

package mypackage.mypackage2;
public class A2 {
	...
	corpo della classe
	...
}

Analogamente al caso precedente, la classe generata dal compilatore verrà posizionata  nella directory mypackage/mypackage2.

Per utilizzare una classe che appartiene ad un altro package, si usa la keyword import con il nome del package da importare.

Esempio

Se volessimo usare, nella nostra classe Prova, una istanza della classe Impiegato, che si trova nel package com, è sufficiente scrivere, ad un inizio file:

import com.Impiegato;

public class ProvaA {
	private void hello() {

		Impiegato i = new Impiegato();

	}

Nel caso volessimo importare tutte le classi di un determinato package, la sintassi da seguire è:

         import <nome package>.*

Esempio

import com.*;

Per quanto riguarda i nomi da assegnare ai package, lo standard prevede di far precedere a ogni nome di package il dominio Internet invertito dell’ente per cui si lavora.

Esempio

Se il dominio della azienda è:

pippo.com

 allora tutte le classi  devono essere catalogati in sottopackage, il cui nome inizia con

com.pippo.

(Visited 29 times, 1 visits today)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *