Décalration attribut java

Bonsoir tt le monde ,

Je n'arrive pas à trouver un type adéquat pour un attribut qui me permet de manipuler les objets de classe comme je le souhaite, je m'explique :

Supposons que j'ai une classe personne, chaque personne a un identifiant . Je voudrais initialiser cet attribut lors de la première instanciation de ma classe par exemple à 1 , et je l'incrémente , comme ça le deuxième objets aura pour identifiant 2, et ainsi de suite ... tt cela sans passer la valeur de l'attribut dans le main , càd le traitement doit être fait ds la classe .
j'espère que j'étais claire .

Merci pour vos réponse

6 réponses

  1. bonne idée .
    je vais essayer comme ça , sinon je vais procéder autrement .

    Merci
    1. Certes, mais il suffit, dans le constructeur, d'écrire quelque chose du genre:
        identifiant = ++compteur;
      Sinon, je ne vois pas de solution.
      Bonne continuation.
      1. merci pour ta réponse ,
        static existe aussi en java , mais si je déclare ma variable static , quand elle sera incrémentée pour la deuxième instanciation , sa valeur changera aussi pour la premier objet. ça marche très bien ds le cas d'un compteur mais ce n'est pas vraiment le cas de ce que je souhaite faire .

        Merci pour votre aide,
        1. Je ne connais pas Java, mais en C++ ce problème est rapidement résolu en déclarant, dans la classe, une donnée membre statique; celle-ci permettra de connaître, en l'incrémentant à chaque instantiation, où en est le compteur.
          Bonne continuation.
          1. merci pour ta réponse , mais j'ai pas bien compris . le ArrayList je l'utilise à quel niveau ?

            voila un exemple de ce que je veux faire

            public class Exemple {
            type int identifiant = 0;
            public Exemple(){
            this.identifiant++;
            }
            }

            et dans le main

            Exemple ex1 = new Exemple() ; // aura pour identifiant 1
            Exemple ex2 = new Exemple() ; // aura pour identifiant 2
            ....

            Merci pour votre aide ;
            1. Re,

              "et dans le main

              Exemple ex1 = new Exemple() ; // aura pour identifiant 1
              Exemple ex2 = new Exemple() ; // aura pour identifiant 2
              .... "

              C'est quoi "le main" ? la méthode main(...) de la classe Exemple ?
          2. Salut,

            As-tu pensé utiliser une ArrayList d'objets (mais attention de rang 0 à n) ?
            L'objet à utiliser serait celui correspondant à ton compteur.

            Cordialement,

            Dan