Question Jabva niveau débutant

phileme -  
 phileme -
Bonjour!
Je suis débutante en Java, et j'ai un petit souci:

Voilà:
Quequ'un peut il me dire quelle est la différence entre ces deux déclarations:
MaClasse nom=new MaCLasse();
MaClasse nom=valeur;

Pour la première pas de souci, il s'agit de la création d'une instance de la classe MAClasse, pour la seconde... ??

Merci beaucoup pour votre aide....

Phileme

5 réponses

  1. le_dahu Messages postés 141 Statut Membre 51
     
    Salut !

    Comme tu l'as si bien dit, pour MaClasse nom=new MaClasse(); , tu crées une nouvelle instance de MaClasse que tu "ranges" dans la variable nom.

    Dans le second cas (MaClasse nom=valeur;), valeur correspond à une instance de MaClasse. Ensuite, c'est juste une affectation entre deux objets (l'objet nom sera le même que l'objet valeur). Et, du coup, il doit y avoir, quelque part avant cette déclaration, un truc du style MaClasse valeur = new MaClasse(); qui a permis de créer l'objet valeur que tu utilises...

    A+

    Si à gauche j'ai l'amont, c'est bon...
    Si à gauche j'ai l'aval, j'suis bancal...
    0
  2. phileme
     
    Eh bien non justement, et c'est bien ca le souci:

    J'ai un constructeur , à qui on passe une instance de classe.
    Dans le constructeur , on déclare une variable du même type que l'instance reçue, et on lui affecte la valeur reçue en argument.

    Code:

    --> Classe
    public class MaClasse{

    private Classep nom=null;

    --> Constructeur
    public MaClasse (Classep autre_nom)
    {
    super();
    nom=autre_nom;
    //......
    }
    //.....
    }

    J'espère que je suis claire...

    Merci!!
    0
  3. phileme
     
    C'est bon j'ai compris merci beaucoup
    0
  4. le_dahu Messages postés 141 Statut Membre 51
     
    :-)

    Si à gauche j'ai l'amont, c'est bon...
    Si à gauche j'ai l'aval, j'suis bancal...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. phileme
     
    C'est bon j'ai compris merci beaucoup
    0