Спецификация языка Java указывает, что
В языке программирования Java массивы являются объектами (§4.3.1), динамически создаются и могут быть назначены переменным типа Object (§ 4.3.3). Все методы класса
Object
могут быть вызваны в массиве.
Итак, учитывая, что массивы являются объектами - почему дизайнеры Java приняли решение не разрешать наследование и переопределение из него, например toString()
или equals()
?
Текущий синтаксис не позволит создавать анонимные классы с массивом в качестве базового класса, но я не думаю, что это было причиной их решения.