Le mot clé final

Résolu/Fermé
securinets Messages postés 77 Date d'inscription dimanche 30 septembre 2012 Statut Membre Dernière intervention 11 septembre 2014 - 28 mars 2013 à 22:27
securinets Messages postés 77 Date d'inscription dimanche 30 septembre 2012 Statut Membre Dernière intervention 11 septembre 2014 - 28 mars 2013 à 23:14
Bonjour,
private final Date dateCreationInstance = new Date();
qu'est ce que cela veut dire de mettre un objet final?
merci pour votre aide



1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
Modifié par KX le 28/03/2013 à 22:51
Pour un attribut (ou une variable), cela signifie que tu ne peux donner qu'une seule fois une référence d'objet à cet attribut. Il y aura donc toujours un seul objet qui lui sera associé.

Remarque : utilisé sur un type primitif le mot clé "final" se comporte comme le mot-clé "const" des langages C/C++

Attention : ce n'est pas parce qu'un objet est final que sa valeur ne change jamais. Il est possible de lui appliquer des méthodes qui changeront sa valeur !
Ce qu'il est interdit de faire avec le mot-clé final c'est de changer l'objet.

Exemples :

int[] tab1 = {1,2,3};
tab1[0] = 4; // possible
tab1 = new int[5]; // possible

final int[] tab2 = {1,2,3};
tab2[0] = 4; // possible
tab2 = new int[5]; // impossible

Remarque : le mot clé final peut aussi s'appliquer à des classes, ou des méthodes, et bloque l'héritage. Voir Google et Wikipédia : final (Java)La confiance n'exclut pas le contrôle
1
securinets Messages postés 77 Date d'inscription dimanche 30 septembre 2012 Statut Membre Dernière intervention 11 septembre 2014 1
28 mars 2013 à 23:14
merci c'etait utile :)
0