Простыми словами, переменная - это то, как вы объявляете объект и получаете к нему доступ. Таким образом, они не являются двумя взаимоисключающими вещами.
Массив - это объект, и вы можете использовать переменную для доступа к ней. В то время как массив является объектом, он может содержать значения примитивных типов (пример int[]
) или может содержать объекты типа класса (пример String[]
)
int[] arr1 = new int[2];
System.out.println(arr1[0]); //output: 0
Это создаст объект массива, который может содержать два значения примитивный тип int
. Доступ к объекту массива можно получить с помощью переменной arr1
. Поскольку массив содержит примитивы, они будут инициализированы значением по умолчанию 0
(или false
для boolean
).
String[] arr2 = new String[2];
System.out.println(arr2[0]); //output: null
Это создаст объект массив, который содержит два объекта класса типа String
. Объект массива можно получить с помощью переменной arr2
. Поскольку массив хранит объекты, изначально он будет содержать null
, что означает отсутствие объекта.
More about arrays from The Java Tutorials
Что вы имеете в виду * «объекты или переменные» *? Знаете, они не совсем взаимоисключающие? – ADTC
Я думаю, что это интересный вопрос, и я мог бы спросить, когда я впервые изучал объектно-ориентированное программирование много лет назад. Прочитайте ответы, они все в порядке, но освещают вопрос по-разному. – GSP
Можете ли вы привести конкретную часть книги, в которой говорится, что массивы являются переменными? Массивы - это еще один добрый объект, а ссылки на них хранятся в переменных, как ссылки на любой другой объект. –