Classe final en Java
Ce tutoriel reprend le sujet de la classe finale
avec un exemple. Le final
est un mot-clé en Java qui peut être utilisé dans différents contextes avec des variables, des méthodes et des classes.
Il restreint l’accès dans tous les contextes dans une certaine mesure. Nous discuterons de la classe final
.
Utilisez la classe final
pour restreindre la classe en Java
Une classe avec le mot-clé final
est appelée une classe final
. Nous utilisons le mot-clé final
avec une classe pour restreindre la classe à hériter par d’autres classes.
Nous rendons la classe final
lorsque nous voulons sécuriser des extensions. L’un de ses avantages est la sécurité car une classe final
est immuable, ce qui ne peut pas être modifié.
Dans l’exemple ci-dessous, nous avons deux classes. La première classe ExampleClass1
a la méthode main()
, tandis que dans la deuxième classe ExampleClass2
, nous utilisons le mot-clé final
pour en faire une classe final
.
Lorsque nous étendons ExampleClass2
à l’aide du mot-clé extends
dans ExampleClass1
, nous obtenons une erreur dans la sortie indiquant que nous ne pouvons pas hériter d’une classe final
.
class ExampleClass1 extends ExampleClass2 {
public static void main(String[] args) {}
}
final class ExampleClass2 {
int abc = 30;
}
Production:
java: cannot inherit from final com.tutorial.ExampleClass2
Nous ne pouvons pas étendre une classe final
, mais que se passe-t-il si nous voulons accéder à une propriété ou une méthode de la classe ?
Notez que la classe ne peut pas être étendue lors de l’utilisation du mot-clé final
, mais nous pouvons créer son objet pour accéder à ses fonctions et variables.
Il y a deux classes dans l’exemple ; l’une est la classe final
ExampleClass2
tandis qu’une autre classe ExampleClass1
est nécessaire pour que la méthode main()
s’exécute.
Nous créons un objet de la classe ExampleClass2
puis imprimons la valeur de abc
, une variable entière.
Nous pouvons accéder à la classe et à sa variable même lorsqu’elles sont finales car nous n’utilisons pas l’héritage ici.
class ExampleClass1 {
public static void main(String[] args) {
ExampleClass2 exampleClass2 = new ExampleClass2();
System.out.println(exampleClass2.abc);
}
}
final class ExampleClass2 {
int abc = 30;
}
Production:
30
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn