Les objets et les références sont des termes associés à une "classe" dans le langage de programmation Java.
Faits marquants
- Une référence en Java est une variable qui contient l'adresse mémoire d'un objet, tandis qu'un objet est une instance d'une classe qui contient des données et des méthodes pour manipuler ces données.
- Les références sont utilisées pour interagir avec des objets en Java, permettant la manipulation des propriétés d'objet et l'invocation de méthodes d'objet. En revanche, les objets sont les instances réelles de données et de méthodes créées à partir de définitions de classe.
- Plusieurs références peuvent pointer vers le même objet, permettant un accès partagé et la modification des données d'objet. En revanche, les objets peuvent être créés et détruits dynamiquement lors de l'exécution d'un programme Java.
Référence vs objet en Java
La différence entre un objet et une référence est qu'un objet est une instance d'une classe et est stocké dans un emplacement mémoire particulier. Une 'référence' pointe vers l'endroit où les variables et méthodes 'objets' sont stockées.
Une classe est un plan ou un modèle qui fournit des instructions sur la création d'objets. L'objet se base sur ce structure, en remplissant les champs nécessaires selon ce modèle de classe.
Comme son nom l'indique, une référence mémoire est simplement une référence à l'emplacement mémoire.
Tableau de comparaison
Paramètre de comparaison | Objet | Référence |
---|---|---|
Définition de base | C'est l'instance d'une classe, et tous les éléments qu'elle contient sont basés sur le plan de la classe. | Une référence mémoire simple qui pointe vers l'endroit où l'objet est stocké dans un emplacement mémoire. |
Format de création | Il existe un format simple pour la création d'un objet : ClassName reference_variable = new ClassName (avec paramètre); | La référence mémoire est créée à côté de l'objet. Il est utilisé dans le format de création d'objet et reçoit un nom de variable. |
Éléments | Il contient des méthodes et des variables basées sur la classe. | Il contient une séquence de bits qui stocke l'adresse de l'objet. |
Mutable | Les objets ont des états et des comportements qui peuvent être modifiés, c'est-à-dire que la condition de l'objet peut être modifiée. | La valeur de référence variable ne peut pas être modifiée. Il ne peut rester que le type de données pour lequel il a été déclaré. |
Signification virtuelle | C'est une entité du monde réel qui contient une forme de mémoire ou de données. | Ce n'est rien d'autre qu'un nom de variable qui n'a pas de signification réelle. C'est comme le nom d'une personne qui fait référence à cette personne. |
Qu'est-ce qu'une référence en Java ?
Une référence fournit l'adresse où la mémoire objet a été allouée.
L'objet n'est jamais utilisé directement ; nous affectons à la place des variables de référence, qui agissent indirectement comme un intermédiaire entre l'objet appelé et l'objet stocké dans la mémoire.
Java permet également quatre types de références différents -
- Référence forte.
- Référence faible.
- Référence souple.
- Référence fantôme
Une référence est créée dans le format de création d'un objet à partir d'une classe -
Nom du cours variable_référence = new ClassName(avec paramètre);
Ici, la 'reference_variable' est la valeur attribuée à la référence. Cette valeur ne peut pas être modifiée et il s'agit d'un seul type de données.
Qu'est-ce qu'un objet en Java ?
Un objet est simplement une instance de la classe. Il représente la structure du cours et suit les instructions du plan directeur pour tous les éléments qui y sont présents, tels que les méthodes et les variables.
Les objets sont considérés comme ayant des états et des comportements. Ici, les états sont une entité "abstraite", qui contient toutes les propriétés des choses et les valeurs de ces propriétés. En termes simples, un Etat pour un être humain serait - nom, race, âge, etc.
Les comportements lient la structure de l'objet. Ils lient les relations entre les attributs pour permettre à l'objet d'effectuer des fonctions/opérations lorsqu'il est appelé.
L'« Objet » est créé en trois étapes distinctes :
- Déclaration
- Instanciation
- Initialisation
Dans la première étape, un nom de variable d'un type d'objet est déclaré, qui devient la référence pour la mémoire d'objet.
Dans la deuxième étape, instanciation, nous avons un mot-clé, 'nouveau', utilisé pour créer l'objet.
Dans la troisième étape, initialisation, nous avons le mot clé 'new' suivi d'un 'constructeur', qui a le même nom que la classe à partir de laquelle l'objet est créé, ainsi que des paramètres.
Le format compilé pour créer l'objet est en tant que tel -
ClassName reference_variable = new ClassName(avec paramètre) ;
Ici, la référence est créée à l'aide de 'reference_variable' et ClassName (avec paramètre) doit appeler le constructeur.
Exemple – Person stu1 = new Person();
Ici, Person fait référence à la classe, stu1 est la valeur de référence de la variable qui pointe vers le nouvel objet en cours de création et Person() est le constructeur.
Différences principales entre référence et objets en Java
- Un objet est une instance dérivée de la structure d'une classe. Une référence est une variable qui pointe vers l'emplacement de l'objet en mémoire.
- Un objet est créé avec un format spécifique - "ClassName reference_variable = new ClassName (avec paramètre);". Une référence est créée parallèlement à la création de l'objet dans le format.
- https://dl.acm.org/doi/abs/10.1145/1287624.1287637
- https://cds.cern.ch/record/1033269/files/9780596007737_TOC.pdf
Dernière mise à jour : 11 juin 2023
Sandeep Bhandari est titulaire d'un baccalauréat en génie informatique de l'Université Thapar (2006). Il a 20 ans d'expérience dans le domaine de la technologie. Il s'intéresse vivement à divers domaines techniques, notamment les systèmes de bases de données, les réseaux informatiques et la programmation. Vous pouvez en savoir plus sur lui sur son page bio.
J'ai trouvé l'explication sur les états et les comportements des objets très intéressante. Il fournit une compréhension claire du fonctionnement des objets en Java.
Le tableau de comparaison présente un aperçu concis des différences entre les objets et les références. C'est très utile pour comprendre les distinctions fondamentales.
L'article explique magnifiquement les principales différences entre les références et les objets en Java. La partie sur les états et les comportements est particulièrement éclairante.
J'apprécie la façon dont l'article souligne l'importance du plan fourni par une classe dans la création d'objets. Cela aide à clarifier le concept pour les débutants.
L'explication métaphorique de « l'état » d'un objet est un excellent moyen de le conceptualiser pour les lecteurs. Cela rend un concept complexe plus accessible et plus facile à comprendre.
L'article ne parvient pas à approfondir les types de données complexes et la manière dont ils sont gérés par les références et les objets en Java. Un peu plus de détails à ce sujet serait bénéfique.
Cet article fournit une comparaison perspicace entre l'objet et la référence en Java. L'explication sur le format de création d'objets est particulièrement utile !
Je suis complètement d'accord avec toi. Les informations détaillées sur la création d'objets et de références sont complètes et informatives.
L'explication détaillée dans « Qu'est-ce que la référence en Java ? » La section fournit une compréhension claire du fonctionnement des références dans la programmation Java. C'est très bien articulé.
L'exemple fourni pour créer un objet est utile pour illustrer le processus. Cela ajoute une dimension pratique à l’explication théorique.
La section sur les types de références en Java est bien expliquée. Il ajoute des connaissances complètes sur les différents types de référence disponibles.