Maison  >  Article  >  Java  >  Création d'objet

Création d'objet

PHPz
PHPzoriginal
2024-07-24 13:07:421156parcourir

Criação de objetos

Comment les objets sont créés

  • La ligne Vehicle minivan = new Vehicle(); déclare un objet de type Vehicle.

  • La déclaration fait deux choses :
    Déclare une variable appelée minifourgonnette de classe Véhicule.
    Crée une copie physique de l'objet et attribue une référence à la mini-fourgonnette à l'aide du nouvel opérateur.

  • Le nouvel opérateur alloue dynamiquement de la mémoire pour un objet et renvoie une référence à celui-ci.

  • La référence est, plus ou moins, l'adresse de l'objet en mémoire allouée par new.

  • La référence est ensuite stockée dans une variable.

  • En Java, tous les objets d'une classe doivent être alloués dynamiquement.

  • Les deux étapes de l'instruction peuvent être réécrites pour afficher chaque étape individuellement.

Véhicule minifourgonnette ; // déclare une référence à l'objet.
minifourgonnette = véhicule neuf (); // alloue un objet Vehicle.

  • La première ligne déclare minivan comme référence à un objet de type Véhicule.

  • minivan est une variable qui peut référencer un objet, mais n'est pas un objet.

  • Pour l'instant, minivan ne fait référence à aucun objet.

  • La ligne suivante crée un nouvel objet Véhicule et lui attribue une référence à la mini-fourgonnette.

  • Maintenant, la mini-fourgonnette est liée à un objet.

Variables de référence et affectation

  • Les variables de référence d'objet agissent différemment des variables de type primitif dans les opérations d'affectation.

  • Dans les variables de type primitif, la variable de gauche reçoit une copie de la valeur de la variable de droite.

  • Dans les variables de référence d'objet, la variable de gauche fait référence au même objet que la variable de droite.

  • Cela peut entraîner des résultats inattendus.

  • Exemple :
    Véhicule car1 = nouveau véhicule ();
    Véhicule car2 = car1;

  • car1 et car2 font référence au même objet.

  • Les modifications apportées via car1 ou car2 affectent le même objet.

  • Quand :
    car1.mpg = 26;
    System.out.println(car1.mpg);
    System.out.println(car2.mpg);

  • Il y aura la sortie 26.

  • car1 et car2 font référence au même objet, mais ne sont pas liés par d'autres moyens.

  • Les affectations ultérieures à car2 n'affectent pas car1.

  • Exemple :
    Véhicule car1 = nouveau véhicule ();
    Véhicule car2 = car1;
    Véhicule car3 = nouveau véhicule ();
    voiture2 = voiture3;

  • car2 fait désormais référence au même objet que car3.

  • L'objet référencé par car1 reste inchangé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn