java怎么向自己的方法中传递数组

public static void main(String []args){
    heap s=new heap();
    Scanner sc=new Scanner(System.in);
    int arr[]=new int[9];
    for(int i=0;i<9;i++){
        arr[i]=sc.nextInt();
    }
    s.heap_sift(arr);

}
 public void heap_sort(int arr[]){
        heap s=new heap();
        int n=arr.length;
        for(int i=(n-2)/2;i>-1;i--){//不得不说这个根节点位置为(n-2)/2真的太妙了
            s.heap_sift(arr,i,n-1);
        }
        for(int j=0;j<n;j++){
            System.out.print(arr[j]+" ");
        }
    }


public static void main(String []args){
        heap s=new heap();
        Scanner sc=new Scanner(System.in);
        int arr[]=new int[9];
        for(int i=0;i<9;i++){
            arr[i]=sc.nextInt();
        }
        s.heap_sift(arr);//这里调用上面的方法传入一个arr数组老是报错

    }

 

具体报什么错 我这里测试了 没有报错

heap_sift()这个方法贴出来

 

 

 

int arr[]=new int[9];改成int arr[9];