Масив об’єктів в java - vertex academy

- написана командою Vertex Academy. Сподіваємося, що вона Вам буде корисна. Приємного прочитання!
- це одна зі статей з нашого "Самовчителя по Java"
Що таке масив

У масивів є кілька особливостей:
1. Вони можуть зберігати змінні тільки одного типу;
2. Розмір масиву не можна поміняти;
3. Масив має довжину;
4. Елементи масивів мають індекси, за якими до них і звертаються в разі потреби;
5. Номер першого елемента масиву - 0;
6. Можна створювати порожні масиви, і "покласти" в них елементи потім.
А ось що таке "масиви об'єктів" ми раніше не розглядали. Давайте розберемося що до чого.
масив об'єктів
По суті, у масивів об'єктів дуже багато спільного зі звичайними масивами, тільки у них інша "начинка". Проте, як Ви знаєте, об'єкти набагато "складніше", ніж змінні, тому що у них є більше складових.
Масив об'єктів оголошується так само, як і масив змінних:
Як ви бачите, у нас не масив різних об'єктів (стільців, столів і жувальних гумок). Це масив об'єктів одного класу (масив стільців, наприклад).
Тут теж все починається і закінчується назвою класу. а в кінці в квадратних дужках вказується розмір масиву:

Масив об'єктів відрізняється однією особливістю - вони складаються з посилань на об'єкти:

Тобто в масиві не містяться всі змінні і методи кожного об'єкта, як Ви могли б подумати, а тільки посилання на ці самі об'єкти. Але тут виникає одна небезпека. Зазвичай змінні в масивах мають значення за замовчуванням - якщо не поставити, наприклад, значення змінної int, то вона за замовчуванням буде дорівнює 0 (більше інформації про значення за замовчуванням можна знайти тут).
Тому, в масиві зберігається значення за замовчуванням null. Якщо Ви спробуєте викликати метод не створеного об'єкта, виникне поширена помилка NullPointerException. Обов'язково створіть свої об'єкти перед тим, як звертатися до них! 😉
Давайте створимо масив об'єктів. Припустимо, у нас є клас - ObjMass, і все, що в ньому зберігається - це масив об'єктів Cat з 3 елементів: