Sujet : eJAVA: static an static final |
lyliann |
benou a écrit a écrit :
à voir certaines questions, je ne pense pas que tu sois la seule en 1ere année d'info ... :)
|
C'est vrai en fait, je ne suis pas la seule j'ai remarque cela mais quand meme la plupart des sujets sont du latin et du grec pour moi! Je crois que les seuls topics que je comprends et participe sont les blabla et les topics que je cree moi meme hihi mais ce n'est pas grave, on est ici pour apprendre alors! Dans quelque jours je dois rendre un autre devoir de Java (j'en ai un toutes les semaines) et celui ci est tres dur donc j'aurai certainment besoin de votre aide.
Merci d'avance et @+ |
gfive |
Bonjour!
Java étant un language objet, il faut déjà connaître la notion d'instance : une classe est un "modèle" : elle définit les caractéristiques et le comportement d'un ensemble d'objets, appellés instances de la classe.
Chaque instance possède les attributs de la classe, mais leurs valeurs peuvent être différentes entre deux instances.
Par exemple, une classe Point sera défini comme ça :
class Point {
float x;
float y;
Point(float x, floaty) {
this.x = x;
this.y = y;
}
}
la ligne :
Point a = new Point(2.1, 12.8);
crée une nouvelle instance de Point, appellée a, qui a les valeurs 2.1 pour x et 12.8 pour y
Imaginons qu'on veuille avoir une valeur particulière, accessible depuis toutes les instances, et identique pour toutes les instances. Par exemple, dans le cas de la classe Point, on peut vouloir définir l'origine du plan.
Pour éviter d'instancier sans arrêt ce point particulier, on peut déclarer une variable statique c'est à dire commune à toutes les instances. Dans notre cas, on écrira :
class Point {
public static Point ORIGIN = new Point(0,0);
.... (comme au dessus)..
}
Avec ça, on a une variable ORIGIN, qui est le point 0,0 accessible de partout, en faisant Point.ORIGIN
ORIGIN est appellé "variable de classse", par opposition à x et y, appellées "variables d'instance"
Imaginons maintenant qu'on veuille rendre cette variable constante : la ligne devient : public static final Point ORIGIN=new Point(0,0);
Dans ce cas, on ne peut plus modifier la valeur des attributs de ORIGIN.
C'est donc comme ça qu'on va définir des constantes en Java
Ouala ouala! |