Also note, Jack, that although the
word "static" means several different things in
Java and C++, "constant" isn't really one of them. "const" is the term in C++, and "final" is the closest equivalent in Java. "static" means something else altogether.
Now, as to your question: In C++, if you declare a const pointer:
int* const p;
then you can't modify the pointer p, although you can modify what p points to. Java's "final" has the same effect on an array declaration. You can modify the array contents, but not the variable that points to the array.
If, on the other hand, in C++ you declare a pointer-to-const:
const int * p;
then you can change p, but not what p points to. Java has no equivalent to this: the contents of a Java array are
never const.