Ответ
В Java все ссылочные типы являются объектами (кроме примитивов). Основные:
- Классы - пользовательские или стандартные (String, Integer и т.д.)
- Интерфейсы - List, Map и другие
- Массивы - даже примитивных типов (int[] и др.)
- Перечисления (enum) - специальный вид класса
- Аннотации - метаданные (@Override и др.)
Пример:
String str = "Hello"; // Ссылка на объект String
List<Integer> list = new ArrayList<>(); // Ссылка на List
int[] arr = new int[5]; // Ссылка на массив