While passing an array to a function in java and then assigning it to a new array, I am getting the same old array.
public static void main(String[] args) {
        int[] arr1 = { 1, 2, 3, };
        changes(arr1);
        for (int val : arr1) {
            System.out.println(val);
        }
    }
private static void changes(int[] arr1) {
    int[] arr2 = { 7, 8, 9 };
    arr1 = arr2;
}
Why is it so when passing array deals with passing the reference to that array?
 
    