• Non ci sono risultati.

3Nomicompleti 2Package 1Unitàdicompilazione Package AzzoliniRiccardo2018-11-30

N/A
N/A
Protected

Academic year: 2021

Condividi "3Nomicompleti 2Package 1Unitàdicompilazione Package AzzoliniRiccardo2018-11-30"

Copied!
2
0
0

Testo completo

(1)

Azzolini Riccardo 2018-11-30

Package

1 Unità di compilazione

Un’unità di compilazione è un file contenente codice sorgente Java.

Una singola unità di compilazione può contenere diverse classi e interfacce, ma al mas- simo una di esse può essere dichiarata public (e in tal caso determina il nome del file).

2 Package

I package permettono di raggruppare in unità logiche classi e interfacce correlate tra loro.

Per aggiungere un’unità di compilazione a un package, è necessario scrivere package nome_package;

come prima istruzione nell’unità.

Perché la JVM riesca a trovare il bytecode, il nome del package deve corrispondere al percorso, relativo al CLASSPATH, del file .class. Ad esempio, se la directory /myjavalib fa parte del CLASSPATH e il file Frazione.class appartiene al package prog.utili, esso si potrebbe trovare al percorso /myjavalib/prog/utili/Frazione.class.

3 Nomi completi

È possibile usare una classe (o interfaccia) appartenente a un package senza bisogno di direttive di importazione, specificandone il nome completo:

nome_package.nome_classe

In questo modo, si possono utilizzare anche classi diverse con lo stesso nome.

1

(2)

4 Direttive di importazione

Una direttiva di importazione aggiunge il nome di una classe o interfaccia apparte- nente a un package allo spazio dei nomi che il compilatore prende in considerazione, permettendo quindi di riferirsi a tale classe/interfaccia senza bisogno di usare il nome completo.

import nome_package.nome_classe;

L’importazione su richiesta aggiunge i nomi di tutte le classi/interfacce al di sotto di un package allo spazio dei nomi del compilatore.

import nome_package.*;

Se si importano su richiesta due package contenenti classi/interfacce con lo stesso nome, si può verificare un conflitto di nomi, ma ciò accade solo se il nome ambiguo viene effettivamente utilizzato nel codice. In caso di conflitto, è necessario ricorrere ai nomi completi.

5 Package importati automaticamente

Il compilatore importa automaticamente i contenuti di java.lang e del package di default.

Quest’ultimo è un package senza nome, creato automaticamente, che include tutte le classi/interfacce definite nella directory di compilazione che non sono esplicitamente incluse in un package.

6 Livelli di visibilità

I package forniscono un ambiente di protezione in cui sviluppare codice nascondendone i dettagli all’esterno.

Esistono infatti diversi livelli di visibilità, specificati da appositi modificatori:

• private (membri): visibili solo all’interno del codice della classe

• public (membri, classi e interfacce): visibili ovunque

• amichevole (membri, classi e interfacce): visibili solo all’interno del package (questo livello si ottiene omettendo gli altri modificatori)

• protected: legato all’estensione delle classi

2

Riferimenti

Documenti correlati

 In Java il tipo base degli array può essere qualunque, sia primitivo sia riferimento.  Sono possibili “array

Per scrivere dati in un file si costruisce un oggetto di tipo PrintWriter , fornendo il nome del file:. PrintWriter out =

Thus, the elements of any collection class can be accessed through the methods defined by Iterator, with similar cycles for different data structures, e.g.. sets

Plus pr´ ecis´ ement, il faut documenter le package dans sa globalit´ e, tous les fichiers de donn´ ees, toutes les fonctions publiques et toutes les invisibles (G´ en´ e-

As this package provides a way to box multi line math displays it can come as no surprise that using either \intertext 4 or \displaybreak inside the empheq environment makes no

There are two things on mathtools’ agenda: (1) correct various bugs/defeciencies in amsmath until these are fixed by the AMS and (2) provide useful tools for mathematical typeset-

For that reason amsmath makes sure that commands like \\ disallows spaces before the optional argument but at the same time it fails to provide “safe”

o Java contiene molte classi predefinite che sono raggruppate in categorie di classi e prendono il nome di package. o l’insieme di questi package è chiamato Java API (Java