variable déclarée static
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

variable déclarée static



  1. #1
    invitefa15af9f

    variable déclarée static


    ------

    Bonjour
    si on déclare une variable de type static, alors elle est accessible par toute les classes.
    Mais j'ai vu un exemple dans le livre de delannoy: ci-dessous un extrait de code
    Code:
    class Ident
    { public Ident ()
    { num = numCour ;
    numCour++ ;
    }
    public int getIdent()
    { return num ;
    }
    public static int getIdentMax()
    { return numCour-1 ;
    }
    private static int numCour ; // prochain numero a attribuer
    private int num ; // numero de l'objet
    static
    { System.out.print ("donnez le premier identificateur : ") ;
    do numCour = Clavier.lireInt() ; while (numCour <= 0) ;
    }
    }
    j'ai pas bien compris pourquoi il a limité la visibilité de numCour!! il l'a déclaré private!!et pourtant sont rôle est qu'il soit visible par toute les classes!
    en plus il a déclaré un champ static, pourquoi il n'a pas met ce champ dans la main??
    merci d'avance

    -----

  2. #2
    invite4492c379

    Re : variable déclarée static

    Hello,

    Une variable avec le modificateur static est une variable de classe. Cela signifie que toutes les instances de ce type auront un accès à la même et unique variable Ident.numcour. Elle est private, mais les méthodes de cette classe peuvent quand même y accéder (pas les autres classes, ni les descendants). Il y a une raison à cela : numcour implémente un compteur pour donner un numéro unique à chaque instance, il ne doit donc pas pouvoir être modifié par quelque chose d'extérieur ! Et c'est pourquoi il y a une méthode de classe getIdent qui en donne une valeur (la dernière assignée).

    Ne jamais exposer plus que nécessaire.

  3. #3
    Jack
    Modérateur

    Re : variable déclarée static

    Il est demandé de préciser le langage pour ce genre de question.
    A priori du C# ?

  4. #4
    invite4492c379

    Re : variable déclarée static

    Salut,

    il me semble sentir du café chaud .... hummm du java ?

  5. A voir en vidéo sur Futura
  6. #5
    invitefa15af9f

    Re : variable déclarée static

    Re
    merci photon57 pour votre réponse , elle est claire
    j'ai enlevé le mot static (private int numCour ), mais eclipse m'affiche une erreur et j'ai constaté que la méthode statique doit contenir que des variables static. est ce juste?
    Citation Envoyé par Jack Voir le message
    A priori du C# ?[/COLOR]
    Désolé j'ai oublié de mentionner le langage!!
    le langage est Java
    autre question: que signifie le mot this??j'ai touvé qu'il contient la référence de l'objet courant!!
    j'ai pas bien saisi ce point!!
    merci d'avance

  7. #6
    invite4492c379

    Re : variable déclarée static

    Citation Envoyé par achrafkaran Voir le message
    Re
    merci photon57 pour votre réponse , elle est claire
    j'ai enlevé le mot static (private int numCour ), mais eclipse m'affiche une erreur et j'ai constaté que la méthode statique doit contenir que des variables static. est ce juste?
    Oui, une méthode de classe ne peut utiliser que des variables de classe puisque quand tu es dans cette méthode tu n'est pas dans une instance.

    Citation Envoyé par achrafkaran Voir le message
    Désolé j'ai oublié de mentionner le langage!!
    le langage est Java
    autre question: que signifie le mot this??j'ai touvé qu'il contient la référence de l'objet courant!!
    j'ai pas bien saisi ce point!!
    merci d'avance
    Oui, c'est l'objet courant.

  8. #7
    Jack
    Modérateur

    Re : variable déclarée static

    Citation Envoyé par photon57 Voir le message
    Salut,

    il me semble sentir du café chaud .... hummm du java ?
    Je n'ai jamais été présenté. A ma d&charge, il me semble qu'ils sont un peu famille ces deux-là

    La réponse aurait été la même de toutes manières.

    A+

  9. #8
    inviteb9f49292

    Re : variable déclarée static

    Il me semble important de préciser qu'un champ ou une méthode statique ne nécessite pas d'instanciation pour être utilisée: il/elle appartient bien à la classe et non aux objets.

  10. #9
    Jack
    Modérateur

    Re : variable déclarée static

    oui, mais vu que le champ static est privé, dans ce cas précis il n'y aura d'intérêt que s'il y a instanciation d'un objet.

    A+

Discussions similaires

  1. Que veut dire static dans Java ?
    Par cedbont dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 30/08/2012, 16h39
  2. Statistiques : lien entre variable binaire et variable continue
    Par invitecf228342 dans le forum Mathématiques du supérieur
    Réponses: 17
    Dernier message: 10/02/2010, 21h34