Java’s keyword final, just like JS’ keyword const, when used on a variable (be it a field, a parameter or a local variable), permanently seals the value stored in that variable, disallowing any further re-assignment to it. ![]()
By value, it’s not just numerical 1s, but also references (a.K.a. pointers or memory addresses). ![]()
In the statement above, the memory address of the array object created on the right side is permanently assigned to the variable layout00. ![]()
We can’t re-assign layout00 to some other array any longer. Not even a null. ![]()
However, the contents of that array, which variable layout00 points to, are still free to modify. ![]()