Curious why declaring an empty array of non-emtpy array(s) is legal in Java:

```
int[][] array = new int[0][1];

System.out.println(array[][0]); //won't compile.
System.out.println(array[0][0]) //triggers an out of bounds exception.

```

P.S. I have read the related question on zero-size arrays: [Why does Java allow arrays of size 0?](https://stackoverflow.com/questions/4612471/why-does-java-allow-arrays-of-size-0)

Is this for the same reason?