В языке программирования Java массивы являются объектами (§4.3.1), создаются динамически и могут быть назначены переменным типа Object (§4.3.2). Все методы класса Object могут быть вызваны для массива.
Также обратите внимание, что при этом array.length вы не вызываете никаких методов, а просто обращаетесь к length полю массива. В классе Arrays существует множество статических методов.