penser de cette façon; quand vous faites new point[5]
(vous devriez suivre les normes de codage et nommez vos classes avec une première lettre majuscule btw.), vous obtenez un tableau avec chaque élément étant la valeur par défaut pour ce type (dans ce cas null). Le tableau est initialisée, mais si vous voulez des éléments individuels du tableau à initialisés, vous devez le faire aussi bien, que ce soit dans la première ligne comme celui-ci:
point[] p1 = new point[] { new point(), new point() };
(La méthode ci-dessus va créer un tableau avec chaque élément déjà initialisés de la taille minimale qui pourra accueillir ces éléments - dans ce cas 2.)
Ou en boucle à travers le réseau et en ajoutant des points manuellement:
point[] p1 = new point[5];
for (int i = 0; i < p1.length; i++) {
point[i] = new point();
}
ces deux concepts peuvent être étendus à tableaux multidimensionnels:
point[] p2 = new point[][] {
new point[] { new point(), new point() }
new point[] { new point(), new point() }
};
Ou
point[] p2 = new point[5][5];
for (int i = 0; i < p2.length; i++) {
for (int j = 0; j < p2[i].length; j++) {
p2[i][j] = new point();
}
}
s'il vous plaît toujours utiliser CamelCase pour vous classnames. – schippi
Les éléments de tableau s'initialisent à la valeur par défaut pour le type d'élément donné. Quelle est la valeur par défaut d'un objet? Pourquoi mon ceci conduit à un ** NULL ** - PointerException? –
-1 car il n'y a pas de différence entre un tableau 1, 2 et 42. En tant que développeur, il est crucial d'isoler le problème [réel]. –