Analyze the following code:
```
public class Test {
public static void main(String[] args) {
final int[] x = {1, 2, 3, 4};
int[] y = x;
x = new int[2];
for (int i = 0; i < y.length; i++)
System.out.print(y[i] + " ");
}
}```
a. The program displays 1 2 3 4
b. The program displays 0 0
c. The program has a compile error on the statement x = new int[2], because x is final and cannot be changed.
d. The elements in the array x cannot be changed, because x is final.
c The value stored in x is final, but the values in the array are not final. x is a constant reference variable that points to an array with four elements Because it is a constant, you cannot create a new reference variable x that points to a different array, but you can change the value of the elements in the array, e.g. x[1] could be changed to 10 instead of 2.