Как реализованы массивы в Java?

Массивы реализованы как объекты в java справа? Если да, где я могу посмотреть исходный код для класса массива. Мне интересно, если переменная длины в массивах определена как константа, и если да, почему это не во всех заглавных буквах LENGTH, чтобы сделать код более понятным.

Ответ 1

Хотя массивы являются объектами в том смысле, что они наследуют java.lang.Object, классы создаются динамически как особая особенность языка. Они не определены в исходном коде.

Рассмотрим этот массив:

   MySpecialCustomObject[] array;

Для этого нет исходного кода. Вы создали его в коде динамически.

Причина, по которой длина в нижнем регистре, и поле действительно связано с тем, что более поздние стандарты кодирования Java не существовали в то время, когда это было разработано. Если массив разрабатывался сегодня, вероятно, это был бы метод getLength().

Длина - это конечное поле, определенное при построении объекта, оно не является константой, поэтому некоторые стандарты кодирования не хотят, чтобы это было в верхнем регистре. Однако, как правило, в Java сегодня все обычно делается как константа в верхнем регистре или помечено как закрытое с помощью общедоступного метода getter, даже если оно является окончательным.

Ответ 2

Можно сказать, что массив - это контейнер, который содержит фиксированную длину данных одного типа данных. например.

int[] MyArray = new int[101]; // allocates memory for 101 integers, Range from 0 to 100.

и для многомерных

String[][] names = {{"FirstName", "LastName"},{"Kaji", "Islam"},...};

и для массива символов

char[] ch={'a','b'....};