16.
Determine output:
class A{
      public void printName(){
            System.out.println("Name-A");
      }
}
class B extends A{
      public void printName(){
            System.out.println("Name-B");
      }
}
class C extends A{
      public void printName(){
            System.out.println("Name-C");
      }
}

1. public class Test{
2.       public static void main (String[] args){
3.             B b = new B();
4.             C c = new C();
5.             b = c;
6.             newPrint(b);
7.       }
8.       public static void newPrint(A a){
9.             a.printName();
10.      }
11. }

17.
What is the output for the below code ?
class A{
      private void printName(){
            System.out.println("Value-A");
      }
}
class B extends A{
      public void printName(){
            System.out.println("Name-B");
      }
}
public class Test{
      public static void main (String[] args){
            B b = new B();
            b.printName();
      }
}

18.
What will be the result of compiling and running the given code?
class A{
      int b=10;
      private A(){
            this.b=7;
      }
      int f(){
            return b;
      }
}
class B extends A{
      int b;
}
public class Test{
      public static void main(String[] args){
            A a = new B();
            System.out.println(a.f());
      }
}

19.
What will be the result of compiling and executing the following program code?
class Vehicle{
      public void printSound(){
            System.out.print("vehicle");
      }
}
class Car extends Vehicle{
      public void printSound(){
            System.out.print("car");
      }
}
class Bike extends Vehicle{
      public void printSound(){
            System.out.print("bike");
      }
}
public class Test{
      public static void main(String[] args){
            Vehicle v = new Car();
            Bike b = (Bike) v;
        
            v.printSound();
            b.printSound();
      }
}

20.
Determine output:
class Small{
      public Small(){
            System.out.print("a ");
      }
}
class Small2  extends Small{
      public Small2(){
            System.out.print("b ");
      }
}
class Small3 extends Small2{
      public Small3(){
            System.out.print("c ");
      }
}
public class Test{     
      public static void main(String args[]){
            new Small3();
      }
}