Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3054 connectés 

  FORUM HardWare.fr
  Programmation

  eJAVA: static an static final

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

eJAVA: static an static final

n°110266
lyliann
Posté le 11-03-2002 à 09:31:53  profilanswer
 

Bonjour,
 
Je suis une fille, nouvelle dans la programmation, Java est mon premier language.
 
J'ai du mal a comprendre le "static" et "static final", quelqu'un peut m'aider svp?
 
Merci beaucoup  :)  
 
Ly

mood
Publicité
Posté le 11-03-2002 à 09:31:53  profilanswer
 

n°110273
gfive
Posté le 11-03-2002 à 09:44:57  profilanswer
 

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!

n°110276
darklord
You're welcome
Posté le 11-03-2002 à 09:49:31  profilanswer
 

gFive on drague ? :D


---------------
Just because you feel good does not make you right
n°110278
gfive
Posté le 11-03-2002 à 09:50:25  profilanswer
 

Dark : Tu peux parler, toi, t'arrêtes pas de draguer benou et Veryfree! :D

n°110279
darklord
You're welcome
Posté le 11-03-2002 à 09:50:52  profilanswer
 

pour ton info, la méthodo en Java veut que une constante a un nom en majuscule.
 
donc ton public static ORIGIN ... aurait du etre
 
public static origin
 
par contre ton  
 
public static final ORIGIN
 
est bien juste (tjrs du point de vue de la méthodo)
 
A+


---------------
Just because you feel good does not make you right
n°110280
darklord
You're welcome
Posté le 11-03-2002 à 09:51:03  profilanswer
 

gfive a écrit a écrit :

Dark : Tu peux parler, toi, t'arrêtes pas de draguer benou et Veryfree! :D  




 
diantre je suis démasqué :D


---------------
Just because you feel good does not make you right
n°110281
darklord
You're welcome
Posté le 11-03-2002 à 09:51:15  profilanswer
 

tu en oublies un grand fou ...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Toi :D


---------------
Just because you feel good does not make you right
n°110304
Cherrytree
cn=?
Posté le 11-03-2002 à 10:33:00  profilanswer
 

gfive a écrit a écrit :

Dark : Tu peux parler, toi, t'arrêtes pas de draguer benou et Veryfree! :D  




 
Oui... C'est... une tragédie ! Oh ! Pourtant... j'ai tout fait... tout. Mais (soupir), je n'ai jamais reçu l'attention de l'homme ténébreux ! Arrgh. C'est la fin... Je me meurs.
 
:D

n°110308
lyliann
Posté le 11-03-2002 à 10:37:58  profilanswer
 

gfive a écrit a écrit :

Dark : Tu peux parler, toi, t'arrêtes pas de draguer benou et Veryfree! :D  




 
Alors tu me drague vraiment? :D non je deconne
 
Merci beaucoup pour l'explication tres detaillee! Mais la notion de l'instance est encore un peu flou pour moi. Ce n'est pas parce que ton explication n'est pas clair mais c'est parce que je suis une fille - ca ne veut pas dire que les filles sont betes mais juste qu'elles sont moins fortes que les garcons en ordinateur. Tu peux me donner un autre example?  
 
Merci! Thanks! Danke!

n°110312
darklord
You're welcome
Posté le 11-03-2002 à 10:49:00  profilanswer
 

euh bin en fait.
 
En Java tu définis des classes d'objet. Par exemple une pomme. Qqch du genre
 
public class Pomme  {
 
    public int couleur;
 
}
 
Ca veut dire que pour chaque objet de type Pomme que tu vas crée, il va avoir avoir un attribut qui est sa couleur (rouge ou verte par exemple)
 
Pomme p = new Pomme();
 
bon maintenant tu voudrais bien faire deux choses.  
 
1) Avoir un truc plus beau et visuel que un entier (couleur = 1 ca veut pas dire grand chose) --> Utilisation de constantes
2) Tu voudrais bien connaitre le nombre de pommes dans ton système. C'est donc une valeur qui n'a rien a voir avec une pomme en particulier mais plutot l'ensemble des pommes (la classe pomme quoi)
 
tu peux faire ca alors
 
public class Pomme {
 
    public static final int ROUGE = 0;
    public static final int VERTE = 1;
 
    public static nombre = 0;
 
    public int couleur;
 
    public Pomme(int couleur) {
       // augmenter le nombre de pommes dans le système
       nombre++;
       this.couleur = couleur;
    }
}
 
 
et après tu peux faire des trucs du genre
 
Pomme p = new Pomme(Pomme.ROUGE);
 
Est ce plus clair ??


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 11-03-2002 à 10:49:00  profilanswer
 

n°110316
jupiler
Un cousin...
Posté le 11-03-2002 à 10:53:28  profilanswer
 

final signifie qu'on ne peut pas redéfinir une variable, une méthode ou une classe:
 
pour une variable, cela implique que la valeur est fixée (d'où l'utilisation pour définir des constantes)
 
pour une méthode, il sera impossible de redéfinir la méthode dans une classe fille
 
une classe finale ne peut pas avoir de filles
 
 
-----------------------
 
une variable static est partagée par toutes les instances de la classe :
 
class MaClasse { public static int toto; ... }
 
MaClasse MC1 = new MaClasse();
MaClasse MC2 = new MaClasse();
 
MC1.toto = 10;
System.out.println(MC2.toto) //affiche 10
 
 
une méthode static peut être utilisée sans avoir créé d'instance de la classe :
class MaClasse {  
public static void message() {
   System.out.println("coucou" );
}
}
 
de n'importe quelle autre classe, tu peux faire :
MaClasse.message();
 
 
une méthode static ne peut utiliser que des variables static
(ou des variables internes à la méthode)


---------------
Je ne suis ni pour, ni contre, bien au contraire  
n°110320
Cherrytree
cn=?
Posté le 11-03-2002 à 10:56:27  profilanswer
 

Je ne peux pas croire qu'une fille de Hanoi s'avoue moins forte que les garçons au sujet de la programmation.

n°110327
ZeMin
Posté le 11-03-2002 à 10:59:44  profilanswer
 

Autant de réponses lorsqu'il s'agit d'une fille  :ouch:  
 
Bon bah :
 
public class Toto {
public static int age = 10; // Variable de classe
public static final String Nom = "Toto"; // Constante
}
 
public class Bob {
public void test() {
Toto.age++; // Tu as le droit
Toto.nom = "Marie Louise" // t'as pas le droit :D
}

n°110376
lyliann
Posté le 11-03-2002 à 11:56:42  profilanswer
 

Merci a tous!
 
Tout est clair et net! Maintenant j'avoue d'etre aussi forte que les garcons en programmation :benetton:
 
Gros bisous a tous

n°110417
Cherrytree
cn=?
Posté le 11-03-2002 à 13:19:21  profilanswer
 

lyliann a écrit a écrit :

Merci a tous!
 
Tout est clair et net! Maintenant j'avoue d'etre aussi forte que les garcons en programmation :benetton:
 
Gros bisous a tous  




 
On t'embrasse bien fort.

n°110454
Krueger
tout salaire demande dutravail
Posté le 11-03-2002 à 14:10:11  profilanswer
 

Mais tu es nouvelle ici, en plus!
Bienvenue! C'est le moins qu'on puisse dire... :hello:


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°110463
darklord
You're welcome
Posté le 11-03-2002 à 14:22:33  profilanswer
 

:sarcastic:  
 
 
 
 
 
 
 :lol:  :lol:  :lol:  
 
 :hello:


---------------
Just because you feel good does not make you right
n°110466
Cherrytree
cn=?
Posté le 11-03-2002 à 14:24:40  profilanswer
 

On dirait que tu es très :sarcastic: aujourd'hui Dark.

n°110473
darklord
You're welcome
Posté le 11-03-2002 à 14:33:48  profilanswer
 

oula je suis de bonne humeur. Mon chef a dit que la technical review que j'ai faite était bien faite justement :D
 
Alors comme c'est ma première semaine, je suis plutot satisfait (c'est un peu stressant les démarrages de boulot)...
 
A+


---------------
Just because you feel good does not make you right
n°110487
Cherrytree
cn=?
Posté le 11-03-2002 à 14:48:06  profilanswer
 

Plus dure sera la chute... :D

n°110757
benou
Posté le 11-03-2002 à 22:44:53  profilanswer
 

ben voila. j'ai du boulot la journée et je loupe tous les topics intéressant :(
 
et pour une fois je trouve même pas un petit truc à la con à ajouter. Je deviens vieux.
 
dit donc dark, c'est ta première semaine et tu trouves encore le temps de passer sur le forum ??? attend que le patron jete un coup d'oeil aux logs du proxy ;)


---------------
ma vie, mon oeuvre - HomePlayer
n°110759
benou
Posté le 11-03-2002 à 22:46:56  profilanswer
 

lyliann a écrit a écrit :

Je suis une fille, nouvelle dans la programmation




"ou comment s'attirer les faveurs des forumeurs" :)


---------------
ma vie, mon oeuvre - HomePlayer
n°110769
darklord
You're welcome
Posté le 11-03-2002 à 22:55:32  profilanswer
 

benou a écrit a écrit :

dit donc dark, c'est ta première semaine et tu trouves encore le temps de passer sur le forum ??? attend que le patron jete un coup d'oeil aux logs du proxy ;)  




 
Mais non t'inquiète ...


---------------
Just because you feel good does not make you right
n°110775
darklord
You're welcome
Posté le 11-03-2002 à 22:57:14  profilanswer
 

benou a écrit a écrit :

 
"ou comment s'attirer les faveurs des forumeurs" :)  




 
yesaieuh. Regarde l'arbre à cerise, il n'en revient pas. Il est tout émoustillé :D


---------------
Just because you feel good does not make you right
n°110779
Cherrytree
cn=?
Posté le 11-03-2002 à 23:05:16  profilanswer
 

DarkLord a écrit a écrit :

 
 
yesaieuh. Regarde l'arbre à cerise, il n'en revient pas. Il est tout émoustillé :D  




:) damn grilled comme dirait l'autre ! :D

n°110780
darklord
You're welcome
Posté le 11-03-2002 à 23:08:15  profilanswer
 

héhé


---------------
Just because you feel good does not make you right
n°110782
Cherrytree
cn=?
Posté le 11-03-2002 à 23:10:58  profilanswer
 

Si ma promise me voyait !

n°110822
darklord
You're welcome
Posté le 12-03-2002 à 09:28:21  profilanswer
 

ouarf :)


---------------
Just because you feel good does not make you right
n°110991
lyliann
Posté le 12-03-2002 à 13:54:45  profilanswer
 

Krueger a écrit a écrit :

Mais tu es nouvelle ici, en plus!
Bienvenue! C'est le moins qu'on puisse dire... :hello:  




 
Merci! Moi tres touchee! Mais malheureusement comme je suis nouvelle dans la programmation, je ne pourrai pas beaucoup aider, par contre je vais essayer de poser le maximum de questions pour que vous avez de la chance pour me draguer, d'acc? :lol:

n°110993
deepcore
Posté le 12-03-2002 à 13:56:29  profilanswer
 

Ah ? Je crois que je vais traîner plus souvent ici moi...  :lol:


---------------
"Si ça peut déconner, ça va déconner..."
n°111379
gfive
Posté le 12-03-2002 à 23:18:50  profilanswer
 

rhalala, on dirait des informaticiens célibataires!! :D

n°111385
lyliann
Posté le 13-03-2002 à 02:17:09  profilanswer
 

Je vois que la plupart d'entre vous sont deja sur le marche de travail (je n'aime pas trop cette expression formelle 'marche de travail' mais mon vocabulaire en francais est limite alors!) ou a la fin des etudes universitaires. Il n'y a que moi qui est en premiere annee d'informatique! Juste un petit remarque apres avoir balade un peu sur le forum.

n°111822
benou
Posté le 14-03-2002 à 00:15:59  profilanswer
 

à voir certaines questions, je ne pense pas que tu sois la seule en 1ere année d'info ... :)


---------------
ma vie, mon oeuvre - HomePlayer
n°111831
darklord
You're welcome
Posté le 14-03-2002 à 01:03:13  profilanswer
 

clair !!!!
 
 :jap:


---------------
Just because you feel good does not make you right
n°111833
lyliann
Posté le 14-03-2002 à 01:21:10  profilanswer
 

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 @+

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  eJAVA: static an static final

 

Sujets relatifs
[JAVA - SWING] pb de discussion entre mes éléments... static ?[C++] un static + une adresse de site internet
[java] fucking final classe[MFC] Changer la police d'un Texte Static
forum 1 final -> recherche un graphiste[JAVA] Question de débutant : notion de "static"
[C++] Changer la font d'un Static Text[WIN32] Mettre en couleur du texte Static
Comment changer la couleur des Contrôles texte Static en C Win32 Api ?[VC++] methode virtual et static a la fois
Plus de sujets relatifs à : eJAVA: static an static final


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)