Una classe è una ricetta che descrive come sono fatti i suoi oggetti.
Definisce:
La classe deve essere progettata in modo indipendente dalle applicazioni che la utilizzeranno
Esempio:
public class Frazione implements Comparable<Frazione>{
//CAMPI
private int num; //il numeratore
private int den; //il denominatore
//COSTRUTTORI
public Frazione(int x, int y){
if(y == 0)
throw new ArithmeticException("Frazione non valida: denominatore 0")
else{
num = x;
den = y;
}
}
public Frazione(int x){
this(x, 1); //richiamiamo l'altro costruttore
}
//METODI
public Frazione per(Frazione f){
int n = this.num * f.num;
int d = this.den * f.den;
Frazione g = new Frazione(n, d);
return g;
}
public int compareTo(Frazione altra){
//....
}
}
Le variabili locali sono le variabili definite nel corpo di un metodo o di un costruttore. Quando l'esecuzione del metodo termina vengono distrutte
I parametri formali sono le variabili dichiarate nell'intestazione di un metodo o di un costruttore. Vengono inizializzati al momento dell'invocazione con il valore degli argomenti (parametri attuali). Quando l'esecuzione del metodo termina vengono distrutti
I parametri attuali sono le espressioni specificato all'atto dell'invocazione del metodo o del costruttore
I package permettono di raggruppare in unità logiche classi e interfacce correlate tra loro
Unità di compilazione: i file che contengono codice sorgente Java. Può contenere diverse classi e interfacce. Ogni unità può contenere al più una classe o un'interfaccia dichiarata public. Se una classe o interfaccia è dichiarata public essa determina il nome del file
Un'unità di compilazione è aggiunta ad un package mediante l'istruzione