Is an array an object in Java?

In Java we can declare an array using the following:

String[] array = new String[10]; 
int size = array.length; 

Does this mean that the array itself is an object? I ask, because in C++ an array is just a pointer and does not have any methods.


Yes.

The Java Language Specification section 4.3.1 starts off with:

An object is a class instance or an array.


Yes; the Java Language Specification writes:

In the Java programming language, arrays are objects (§4.3.1), are dynamically created, and may be assigned to variables of type Object (§4.3.2). All methods of class Object may be invoked on an array.