final
Il modificatore final è molto versatile, presenta le seguenti caratteristiche:
  1. Quando è applicato ad una variabile indica che si tratta di una costante.
  2. Quando è applicato ad un metodo indica che questo non può essere ridefinito (overriding) nelle sottoclassi.
  3. Quando è applicato ad una classe indica che non è possibile creare delle sottoclassi.
  4. Quando è passato a um metodo un parametro che non si vuole modificare.
In genere, l'utilizzo di final nella dichiarazione di metodi (o di classi) serve ad aumentare l'efficienza del programma in fase di esecuzione in quanto non vi è "late binding".
Esempio: 
public final class ClasseFinal { 
... 
} 
Esempio2: 
public class MyClasse { 
    final int Costante = 123; 
... 
} 
Esempio3: 
public class MyClasse { 
    int i; 
    public final void stopOverriding() { 
    ... 
    } 
} 

Esempio4: 
public class MyClasse { 
    int i; 
    public void stopOverriding(final int myParameter) { 
    ... 
    } 
}