Ich versuche, ein Array von Objekten wie von einer Unterklasse definiert zu erstellen (ich denke, das ist die richtige Terminologie). Ich kann sehen, dass die Frage wiederkehrend ist, aber die Umsetzung ist immer noch problematisch.So erstellen Sie ein Array von Objekten in Java
Mein Code
public class Test {
private class MyClass {
int bar = -1;
}
private static MyClass[] foo;
public static void main(String args[]) {
foo = new MyClass[1];
foo[0].bar = 0;
}
}
Gibt den Fehler
Exception in thread "main" java.lang.NullPointerException.
In einem Versuch, sie zu rationalisieren, brach ich es einfach ausgedrückt unten:
public class Test {
private static int[] foo;
public static void main(String args[]) {
foo = new int[1];
foo[0] = 0;
}
}
Welche scheint zu funktionieren. Ich sehe den Unterschied zwischen meinen beiden Beispielen einfach nicht. (Ich verstehe, dass meine erste ist sinnlos, aber MyClass wird letztlich mehr Daten enthalten.)
Ich bin ziemlich sicher, dass die Frage here gestellt wird und sehr gut beantwortet wird. Ich denke, dass ich die Lösung implementiert:
MyClass[] foo = new MyClass[10];
foo[0] = new MyClass();
foo[0].bar = 0;
aber die zweite Zeile der oben genannten Fragen die Fehler
Keine umschließenden Instanz vom Typ-Test zugänglich ist.
Ich verstehe, dass ArrayList ein Weg nach vorne wäre, aber ich versuche, die zugrunde liegenden Konzepte zu begreifen.
NB - Es könnte nützlich sein, zu wissen, dass Java zwar sehr komfortabel mit der Programmierung ist, aber mein erster Einstieg in die objektorientierte Programmierung ist.
Der Java-Tutorial Chapeter ab out [verschachtelte Klassen] (http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html) könnte eine interessante Lektüre über die Grundlagen innerer Klassen sein. – Alderath