Как массивы реализованы в Java? - PullRequest
19 голосов
/ 15 февраля 2010

Массивы реализованы как объекты в Java, верно? Если это так, где я могу посмотреть на исходный код для класса массива. Мне интересно, если переменная длины в массивах определяется как константа, и если да, то почему не все заглавные буквы ДЛИНА, чтобы сделать код более понятным.

Ответы [ 2 ]

19 голосов
/ 15 февраля 2010

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

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

MySpecialCustomObject[] array;

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

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

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

0 голосов
/ 21 марта 2017

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

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'....};
...