Mot-clé Java final
Mot-clé final Java
Dans ce tutoriel, nous allons découvrir les variables finales Java, les méthodes et les classes avec des exemples.
En Java, le final
mot-clé est utilisé pour désigner des constantes. Il peut être utilisé avec des variables, des méthodes et des classes.
Une fois qu'une entité (variable, méthode ou classe) est déclarée final
, il ne peut être attribué qu'une seule fois. C'est-à-dire
- la variable finale ne peut pas être réinitialisée avec une autre valeur
- la méthode finale ne peut pas être remplacée
- la classe finale ne peut pas être prolongée
1. Variable finale Java
En Java, nous ne pouvons pas changer la valeur d'une variable finale. Par exemple,
class Main {
public static void main(String[] args) {
// create a final variable
final int AGE = 32;
// try to change the final variable
AGE = 45;
System.out.println("Age: " + AGE);
}
}
Dans le programme ci-dessus, nous avons créé une variable finale nommée age . Et nous avons essayé de changer la valeur de la variable finale.
Lorsque nous exécutons le programme, nous obtenons une erreur de compilation avec le message suivant.
cannot assign a value to final variable AGE
AGE = 45;
^
Remarque :Il est recommandé d'utiliser des majuscules pour déclarer les variables finales en Java.
2. Méthode Java finale
Avant d'en savoir plus sur les méthodes finales et les classes finales, assurez-vous de connaître l'héritage Java.
En Java, le final
La méthode ne peut pas être remplacée par la classe enfant. Par exemple,
class FinalDemo {
// create a final method
public final void display() {
System.out.println("This is a final method.");
}
}
class Main extends FinalDemo {
// try to override final method
public final void display() {
System.out.println("The final method is overridden.");
}
public static void main(String[] args) {
Main obj = new Main();
obj.display();
}
}
Dans l'exemple ci-dessus, nous avons créé une méthode finale nommée display()
à l'intérieur du FinalDemo
classer. Ici, le Principal la classe hérite de FinalDemo classe.
Nous avons essayé de remplacer la méthode finale dans le Main classer. Lorsque nous exécutons le programme, nous obtenons une erreur de compilation avec le message suivant.
display() in Main cannot override display() in FinalDemo
public final void display() {
^
overridden method is final
3. Classe finale Java
En Java, la classe finale ne peut pas être héritée par une autre classe. Par exemple,
// create a final class
final class FinalClass {
public void display() {
System.out.println("This is a final method.");
}
}
// try to extend the final class
class Main extends FinalClass {
public void display() {
System.out.println("The final method is overridden.");
}
public static void main(String[] args) {
Main obj = new Main();
obj.display();
}
}
Dans l'exemple ci-dessus, nous avons créé une classe finale nommée FinalClass . Ici, nous avons essayé d'hériter de la classe finale par le Main classe.
Lorsque nous exécutons le programme, nous obtenons une erreur de compilation avec le message suivant.
cannot inherit from final FinalClass
class Main extends FinalClass {
^
Java