La parola riservata final, quando precede il nome di una proprietà, indica che il valore di tale proprietà non varierà più nel corso del programma, ovvero serve a definire una costante. Ad esempio:
public final double pigreco = 3.14;
Si può utilizzare la parola riservata final anteponendola anche alla definizione di una classe o di un metodo. Nel primo caso, si avrà come risultato che una classe così definita non potrà avere nessuna sottoclasse derivante da essa. Nel caso del metodo, invece, non sarà possibile effettuare l’overriding del metodo stesso nelle eventuali classi derivate.