Я пытаюсь создать массив объектов, как определено подклассом (я думаю, что это правильная терминология). Я вижу, что вопрос повторяется, но реализация все еще проблематична.Как создать массив объектов в Java
Мой код
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;
}
}
дает ошибку
Исключение в потоке "основного" java.lang.NullPointerException.
В попытке рационализировать его, я сломал его вниз Проще говоря:
public class Test {
private static int[] foo;
public static void main(String args[]) {
foo = new int[1];
foo[0] = 0;
}
}
который, кажется, работает. Я просто не вижу разницы между двумя примерами. (Я понимаю, что мое первое бессмысленно, но MyClass в конечном итоге будет содержать больше данных.)
Я уверен, что задан вопрос here и на него очень хорошо ответил. Я думаю, что я реализовал решение:
MyClass[] foo = new MyClass[10];
foo[0] = new MyClass();
foo[0].bar = 0;
, но вторую линию вышеуказанных вопросов ошибки
Нет ограждающий экземпляр типа Test не доступен.
Я действительно понимаю, что ArrayList будет способом продвижения вперед, но я пытаюсь понять основные понятия.
NB - Возможно, было бы полезно знать, что, в то же время очень удобное программирование в целом, Java - это мое первое погружение в объектно-ориентированное программирование.
Учебник java chapeter ab [вложенные классы] (http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html) может быть интересным, прочитанным об основах внутренних классов. – Alderath