What is the effect of attempting to compile and run this Java program that consists of two class definitions in separate files:
public class One
{
   public One(int x)
   {  x = x;
   }

   public int getX()
   {  return x;
   }

   private int x = 1;
}

public class Two
{
   public static void main(String[] args)
   {  One obj= new One(2);
      System.out.println(obj.getX());
   }
}
(a) The program compiles and, when run, displays 0 (zero).
(b) It compiles and, when run, displays 1.
(c) It compiles and, when run, displays 2.
(d) It doesn't compile.

Select the most appropriate answer.