Когда вы пишете Integer arryMem [] = {0,0,0,0,0,0,0};
, Java выделяет массив длиной 7 , потому что вы вставили семь элементов. В качестве альтернативы вы можете выделить массив одинаковой длины, набрав Integer arryMem [] = new Integer [7]
. Если вы вставите значения напрямую, Java сделает это автоматически для вас.
Теперь у вас проблема в том, что когда вы набираете Integer arrayMem [];
, никто не выделяет никакой памяти, так как вы не вставляли ни значения, ни вас. Поэтому, если вы вызовете элемент в этом массиве, вы получите NullPointerException , потому что нет никаких элементов ...
Таким образом, вы должны выделить память (создать объект), прежде чем сможете ее использовать. Вы можете сделать это, как уже было показано несколькими способами. Вы можете сделать это и инициализировать все элементы за один шаг, набрав ...
this.arryMem = Arrays.copyOf(ary, ary.length);
... в вашем конструкторе.