Struttura di un’applicazione

Il sorgente di un’applicazione consiste di uno o più file (”unità di compilazione”)

Ogni file contiene una o più dichiarazioni di classi (o di interfacce), di cui al più una dichiarata public

Il nome del file deve essere uguale a quello della sua classe public, con estensione .java

Linking dinamico

Il linking dinamico in Java avviene solo all'atto dell'esecuzione

Quando si esegue un programma, viene verificato che in memoria sia presente il file .class necessario all'esecuzione

A differenza del linking statico, i file .class possono essere riutilizzati facilmente, poiché non è necessario il linking

Classi interne

In Java è possibile posizionare la definizione di una classe all’interno di un’altra, realizzando quello che prende il nome di classe interna

Ciò consente di raggruppare classi che sono logicamente correlate e di controllare la loro visibilità

Ogni classe interna ha completa visibilità degli attributi e dei metodi della classe che la contiene

Un’istanza di una classe interna è ottenibile solo a partire da un’istanza della classe esterna

Possiamo disciplinare la visibilità della classe interna con le parole chiave public, private, protected