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

   private int x = 10;
}

public abstract class Two
   extends One
{
   public int getY()
   {  return y;
   }

   private int y = 20;
}

public class Three
   extends Two
{
   public int getZ()
   {  return z;
   }

   private int z = 30;

   public static void main(String[] args)
   {  Three obj = new Three();
      System.out.println(obj.getX() + ", " + 
         obj.getY() + ", " + obj.getZ());
   }
}
(a) The program doesn't compile because Two doesn't implement getX().
(b) It doesn't compile because Three doesn't implement getX().
(c) It compiles and, when run, displays 10, 20, 30
(d) It compiles and, when run, displays 0, 0, 0

Select the most appropriate answer.