java中二维数组为什么不能赋给一维数组

存放的都是地址,那为什么不可以像一维数组一样,直接把二维数组的地址给过去

简单的说,不是同一个类,所以不能互相赋值。
下面代码把类名称打出来

    public static void main(String[] args) {
        String[] s1 = new String[] {};
        String[][] s2 = new String[][] {};
        
        System.out.println(s1);
        System.out.println(s2);
    }

结果是
[Ljava.lang.String;@41a4555e
[[Ljava.lang.String;@3830f1c0

[[Ljava.lang.String和[Ljava.lang.String不是一个类。

一维数组的内存是连续的;二维数组的内存不一定是连续的