Java Language
Pacchi
Ricerca…
introduzione
Osservazioni
I pacchetti forniscono protezione di accesso.
la dichiarazione del pacchetto deve essere la prima riga del codice sorgente. Ci può essere solo un pacchetto in un file sorgente.
Con l'aiuto dei pacchetti è possibile evitare conflitti tra diversi moduli.
Utilizzo dei pacchetti per creare classi con lo stesso nome
Primo test.class:
package foo.bar
public class Test {
}
Anche Test.class in un altro pacchetto
package foo.bar.baz
public class Test {
}
Quanto sopra va bene perché le due classi esistono in diversi pacchetti.
Utilizzo di Scope protetto da pacchetto
In Java se non si fornisce un modificatore di accesso, l'ambito predefinito per le variabili è il livello protetto dal pacchetto. Ciò significa che le classi possono accedere alle variabili di altre classi all'interno dello stesso pacchetto come se tali variabili fossero pubblicamente disponibili.
package foo.bar
public class ExampleClass {
double exampleNumber;
String exampleString;
public ExampleClass() {
exampleNumber = 3;
exampleString = "Test String";
}
//No getters or setters
}
package foo.bar
public class AnotherClass {
ExampleClass clazz = new ExampleClass();
System.out.println("Example Number: " + clazz.exampleNumber);
//Prints Example Number: 3
System.out.println("Example String: " + clazz.exampleString);
//Prints Example String: Test String
}
Questo metodo non funzionerà per una classe in un altro pacchetto:
package baz.foo
public class ThisShouldNotWork {
ExampleClass clazz = new ExampleClass();
System.out.println("Example Number: " + clazz.exampleNumber);
//Throws an exception
System.out.println("Example String: " + clazz.exampleString);
//Throws an exception
}