Maison >Java >javaDidacticiel >Comment fonctionne la création d'objets dans les tableaux Java ?

Comment fonctionne la création d'objets dans les tableaux Java ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 11:10:28804parcourir

How Does Object Creation Work in Java Arrays?

Comprendre la création d'objets de tableau en Java

Lors de la création d'un tableau d'objets, il est important de noter la différence entre créer le tableau lui-même et instancier les objets qu'il contient.

Création d'un tableau de références

En Java, un tableau de références pointe vers l'emplacement des objets en mémoire, plutôt que de stocker les objets eux-mêmes. Le code suivant crée un tableau de quatre références à des objets de classe A :

<code class="java">A[] arr = new A[4];</code>

Instanciation d'objets dans le tableau

Pour accéder aux objets dans le tableau, chaque référence doit être affectée à un objet réel. Cela implique de créer les objets à l'aide du nouveau mot-clé et de les attribuer aux éléments du tableau. Le code suivant instancie quatre objets de classe A et les affecte au tableau :

<code class="java">for (int i = 0; i < 4; i++) {
    arr[i] = new A();
}</code>

Comparaison avec C

En C , l'utilisation de new A[4] crée directement un tableau de quatre objets , alors qu'en Java, une étape supplémentaire d'attribution d'objets aux références du tableau est requise.

Éviter les exceptions de pointeur nul

Pour accéder aux méthodes et aux variables des objets dans le tableau, assurez-vous qu'elles sont instanciés avant de tenter de les utiliser. Si vous ne le faites pas, des exceptions de pointeur nul seront générées.

Exemple

Par exemple, l'extrait de code suivant crée un tableau de deux objets de classe Point et définit leurs coordonnées x et y :

<code class="java">Point[] points = new Point[2];
for (int i = 0; i < 2; i++) {
    points[i] = new Point(i, i);
}</code>

Désormais, le code peut accéder aux coordonnées x et y de chaque point à l'aide des méthodes getX() et getY(), sans rencontrer d'exceptions de pointeur nul.

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