Я определил класс с общедоступными атрибутами.Java NullPointerException в конструкторе
Однако при инициализации значений в конструкторе я получаю NullPointerException
.
Вот мой код:
class CacheBlock
{
public byte[] data;
public int frame;
public boolean ref;
}
public class Cache
{
private CacheBlock[] blocks;
public Cache(int blockSize, int cacheBlocks)
{
blocks = new CacheBlock[10];
blocks[0].data = new byte[blockSize]; //line that causes exception
}
}
После того как вы создадите массив, каковы его элементы? – immibis
Да, я вижу это, кажется совершенно очевидным сейчас. – MistarLouda
'CacheBlock' - это' class', вы должны вызвать конструктор при создании каждого элемента в массиве, 'java' не вызывает конструктор по умолчанию при инициализации массива, как в' C++ ' –