Масив об’єктів у Java - Vertex Academy

масив

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

Що таке масив

java

У масивів є кілька особливостей:

1. Вони можуть зберігати зміннітільки одного типу ;

2.Размер масиву не можна змінити;

3. Масив має довжину;

4. Елементи масивів мають індекси, за якими до них і звертаються у разі потреби;

5. Номер першого елемента масиву -0 ;

6. Можна створювати порожні масиви, і " покласти " них елементипотом.

А ось що таке "масиви об'єктів" ми раніше не розглядали. Давайте розберемося до чого.

Масив об'єктів

По суті, у масивів об'єктів дуже багато спільного із звичайними масивами, тільки в них інша "начинка". Проте, як Ви знаєте, об'єкти набагато "складніші", ніж змінні, тому що вони мають більше складових.

Масив об'єктів оголошується так само, як і масив змінних:

Як ви бачите, у нас не масиврізних об'єктів (стільців, столів та жувальних гумок). Це масивоб'єктів одного класу (масив стільців, наприклад).

Тут теж все починається і закінчуєтьсяназвою класу, а в кінці в квадратних дужках вказується розмір масиву:

масив

Поширена помилка

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

java

Тобто в масиві не містяться всі змінні та методи кожного об'єкта, як Ви могли б подумати, а лише посилання на ці об'єкти. Але тут виникає одна небезпека. Зазвичай змінні вмасивах мають значення за замовчуванням - якщо не задати, наприклад, значення змінної int, то вона за умовчанням дорівнюватиме 0 (більше інформації про значення за замовчуванням можна знайти тут).

Тому в масиві зберігається значення за умовчаннямnull. Якщо ви спробуєте викликати метод не створеного об'єкта, виникне поширена помилкаNullPointerException. Обов'язково створіть свої об'єкти перед тим, як звертатись до них! 😉

Приклад

Давайте створимо масив об'єктів. Допустимо, у нас є клас - ObjMass, і все, що в ньому зберігається - це масив об'єктів Cat з 3 елементів: