Questo articolo fornisce gli usi di base della parola chiave final nella programmazione Java. Descrizioni brevi e chiare della situazione applicativa ti aiuteranno ad apprendere rapidamente il materiale. La parola chiave finale ha interpretazioni diverse a seconda di dove viene utilizzata nel programma. Ma l'essenza di questa parola è la stessa: divieto di cambiamento . Infatti, applicando questa parola a una delle essenze del linguaggio Java: una variabile, un oggetto, un metodo o una classe, ne facciamo una costante, un valore stabile e immutabile, come l'acconciatura del cantante Joseph Kobzon... Lascia che te lo ricordi di una breve definizione di costante. Costante è una quantità costante (scalare o vettoriale) in matematica, fisica, chimica. Una costante matematica è una quantità il cui valore non cambia; in questo è l'opposto di una variabile. Diamo un'occhiata a 4 casi in cui possiamo usare la parola final .
1. Creazione di una costante di un tipo di dati primitivo.
Qui il valore MY_CONST non può essere modificato. Pertanto, se scrivi la parola finale accanto a una variabile primitiva, allora è una costante.
public class MyClass{
public final int MY_CONST = 13;
}
2. Creazione di una costante del tipo di riferimento.
Questo codice non causerà un errore, ma solo finché non assegnerai un nuovo valore alla variabile s1 . Cioè, la parola final per i tipi di riferimento proibisce la modifica del riferimento, non dell'oggetto a cui punta il riferimento. Vale anche la pena notare che l'assegnazione è valida ovunque nel programma, ma solo una volta.
public class MyClass2{
public final String s1;
public MyClass2() {
s1 = new String();
}
}
3. Divieto di sovrascrivere un metodo in una classe discendente
La parola finale accanto a un metodo impedisce di sovrascrivere questo metodo nelle classi discendenti.
public class Example{
public final void hello() {
System.out.println(“Hello my people!”);
}
}
Cioè, se crei una classe che eredita da Esempio e scrivi al suo interno il seguente codice, si verificherà un errore:
public class ExtendedExample extends Example{
public void hello() {
System.out.println("Extended hello everyone!!!");
}
}
4. Divieto di creare una classe discendente
Una classe finale è una classe che non può essere una superclasse, ovvero è vietato scriverne discendenti.
public final class MyClass3 {
}
Autore: Irina Volgina
GO TO FULL VERSION