IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

c'est quoi l'interet de "Static"


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Par défaut c'est quoi l'interet de "Static"
    Bonjour;
    quelqu'un pourais m'expliquer qu'elle est l'interet de déclarer une variable ou methode "Static". SVP

  2. #2
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    salut, declarer une variable static (ou meme une fct) signifie que ce membre n'est pas specifiq a un objet mais a la classe, tous les objets de la classe partagent cette meme variable. Et de ce fait tu peux y acceder ainsi : Maclasse.MonVarStatic
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class UneClasse {
    public static int counter = 0;
    }
     
    class Main {
    public static void main (String []args) {
    UneClasse un = new UneClasse (), deu = new UneClasse ();
    un.counter++;
    println (UneClasse.counter); // affiche 1
    deu.counter++ ;
    println (un.counter); // affiche 2
    }
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2008
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 109
    Par défaut
    Quand on déclare une variable en static cela permet par exemple de compter le nombre d'instance de la classe qui contient la variable.

  4. #4
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Salut,

    Il est aussi à préciser qu'une variable "static" possède la même valeur pour toutes les instances d'une classe. Si sa valeur change, elle change dans toutes les instances.

    F.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Par défaut
    donc si j'ai bien compris c'est que on changeant la valeur d'une variable static pour un objet d'une certaine class , ca change pour tt les objet issu de cette meme class, c ca??????

  6. #6
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    tu as bien compris, c'est comme une variable commune en qq sorte

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Par défaut
    OKK, merci tt le monde c'est trés gentil de votre part,en fait je ss novice en java et j'aurais peut etre encor des questions a vous poser.

  8. #8
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    Citation Envoyé par Kirou Voir le message
    OKK, merci tt le monde c'est trés gentil de votre part,en fait je ss novice en java et j'aurais peut etre encor des questions a vous poser.
    n'hésite pas on est là pour ça

  9. #9
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    oui par exemple si tu as une classe serveurDeRestaurant tu peu mettre la variable static nbreCouvert que chaque serveurDeRestaurant pourra incrementer .. comme ca a la fin de la soiree tu peux savoir le nbre de couvert total .. c'est sympa hein

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Par défaut
    dsl une autre petit question et c'est fini
    en fait je voudrais aussi savoir l'interet pour la déclaration d'une class ou une méthode "Static".

  11. #11
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Citation Envoyé par laurentibus Voir le message
    oui par exemple si tu as une classe serveurDeRestaurant tu peu mettre la variable static nbreCouvert que chaque serveurDeRestaurant pourra incrementer .. comme ca a la fin de la soiree tu peux savoir le nbre de couvert total .. c'est sympa hein
    Les variables statiques sont quand même à utiliser avec parcimonie, il est souvent préférable d'avoir une variable normale dans un objet qu'on "passe" aux objets l'utilisant.

    Car ton appli de gestion de restaurant, si un jour ton restaurant ouvre une deuxième enseigne dans la rue d'en face et que tu veux gérer les 2 restaurants dans le même programme, tu vas avoir un problème si tu as tes couverts en static car tu voudras sûrement différencier les couverts du restaurant 1 et du restaurant 2.
    Avoir une variable static c'est limiter l'évolutivité de son programme.

    J'utilise par contre très souvent des "static final", i.e. qu'on ne peut pas modifier.
    Ceci pour des "clés" de propriétés par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public static final String PROP_CHOIX = "choix";
     
    setProperty(PROP_CHOIX, true);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. C'est quoi XMLRAD ?
    Par laffreuxthomas dans le forum XMLRAD
    Réponses: 10
    Dernier message: 09/08/2003, 02h42
  2. C'est quoi "Profile" dans le assign du XMLGram ?
    Par Lux interior dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/02/2003, 11h37
  3. C'est quoi exactement un générateur d'états
    Par Henry Cesbron Lavau dans le forum Outils de restitution et d'analyse
    Réponses: 0
    Dernier message: 02/04/2002, 19h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo