Хотя массивы являются объектами в том смысле, что они наследуют java.lang.Object, классы создаются динамически, как особенность языка.Они не определены в исходном коде.
Рассмотрим этот массив:
MySpecialCustomObject[] array;
Нет такого исходного кода для этого.Вы создали его в коде динамически.
Причина, по которой длина указана в нижнем регистре, а поле на самом деле связано с тем фактом, что более поздние стандарты кодирования Java не существовали на момент разработки.Если бы массив разрабатывался сегодня, то, вероятно, это был бы метод: getLength ().
Длина - это конечное поле, определенное при построении объекта, оно не является константой, поэтому некоторые стандарты кодирования этого не хотятбыть в верхнем регистре.Однако в целом в Java сегодня все обычно делается либо в виде константы в верхнем регистре, либо помечается как private методом public getter, даже если он финальный.