Ответ 1
Класс - это тип. Интерфейс - это тип. Примитив - это тип. Массив - это тип.
Поэтому каждый тип также является классом (включая константу перечисления), интерфейсом, примитивом или массивом.
Существуют две различные категории типов: примитивные типы и ссылочные типы:
- Переменная примитивного типа всегда содержит примитивное значение того же типа. Такое значение может быть изменено только с помощью операций присваивания этой переменной.
- Переменная ссылочного типа всегда содержит значение ссылки на объект. Все объекты, включая массивы, поддерживают методы класса
Object
. Ссылочными типами являются типы классов (включая типы перечислений), типы интерфейсов и типы массивов.
Каждый кусок данных имеет тип, который определяет его структуру, а именно, сколько памяти он занимает, как он выложен, и что более важно, как вы можете взаимодействовать с ним.
Примеры примитивных типов:
-
int
-
float
-
char
-
boolean
Примеры типов классов:
Примеры типов интерфейсов:
Примеры типов массивов:
-
int[]
-
String[]
-
Integer[][][]
В принципе, все, что вы можете назвать переменной, имеет тип, а классы - это своего рода тип.
Дополнительная информация здесь: http://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html