Question Jabva niveau débutant

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. 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
    1. 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
      1. C'est bon j'ai compris merci beaucoup
        0
        1. :-)

          Si à gauche j'ai l'amont, c'est bon...
          Si à gauche j'ai l'aval, j'suis bancal...
          0
          1. C'est bon j'ai compris merci beaucoup
            0