为什么Array上允许克隆方法?

Ami*_*nde 2 java clone

clone()方法在Object类中默认不可见,那么它如何不为Array类型提供错误?
这是否意味着有一个名为int []的类型,其实现是用java编写的,如果是,在哪里找到它?
如果是写的那么为什么不写完呢?
我的意思是为什么不正确地实现每个方法而不仅仅是来自ObjectClass 的行为.

    int[] a ={1,2,3};
    Object object = new Object();
    object.clone();//Does not compile since clone is protected.
    a.clone();// allowed as this method is from int[] 
Run Code Online (Sandbox Code Playgroud)

Tra*_*nce 6

所有阵列都实现Cloneable接口.

请参阅Java语言规范的相关部分:§10.7数组成员

public方法clone,它在类中重写同名方法,Object并且不会抛出任何已检查的异常.clone数组类型方法的返回类型T[]T[].多维数组的克隆很浅,也就是说它只创建一个新数组.子阵列是共享的.