From Java Tutorial 98- 2: Java Language and Object Oriented Techniques NAVO Tutorial -- Sept 23 1998. byGeoffrey C. Fox, Nancy McCracken
Arrays are "true" or "first class" objects in Java and no pointer arithmetic is supported.
Like other objects, an array must be declared and created:
int states[]; // declaration
alternative syntax: int[] vec;
and then:
states = new int[128]; // creation
or concisely:
int states[] = new int[128];
Arrays of arbitrary objects can be constructed,
e.g. Color manycolors[] = new Color[1024];
The only difference is that in the case of primitive types, the array elements are actually created. In the case of arbitrary objects, an array of object references is created; before you use array elements, you must call the constructor of that type for each element.