31.
What is output of the program?
class Test{
        public void display(int x, double y){
                System.out.println(x+y);
        } 
        public double display(int p, double q){
                return (p+q);
        }
        public static void main(String args[]){
                Test test = new Test();
                test.display(4, 5.0);
                System.out.println(test.display(4, 5.0));
        }
}

32.
what is the result of the following piece of code:
public class Person{
        public void talk(){
                System.out.print("I am a Person");
        }
}

public class Student extends Person{
        public void talk(){
                System.out.print("I am a Student");
        }
}

public class Test{
        public static void main(String args[]){
                Person p = new Student();
                p.talk();
        }
}

33.
What will be the output?
interface A{
	public void method1();
}
class One implements A{
	public void method1(){
		System.out.println("Class One method1");
	}
}
class Two extends One{
	public void method1(){
		System.out.println("Class Two method1");
	}
}
public class Test extends Two{
	public static void main(String[] args){
		A a = new Two();
		a.method1();
	}
}

34.
What will be the output of the following program code?
class Rectangle{
      public int area(int length, int width){
            return  length*width;
      }
}
class Square extends Rectangle{
      public int area(long length, long width){
            return  (int) Math.pow(length, 2);
      }
}
public class Test{
      public static void main(String args[]){
            Square r = new Square();
            System.out.println(r.area(5 , 4));
      }
}

35.
What will be printed after executing following program code?
class Base{
	int value = 0;
        Base(){
        	addValue();
        }
        void addValue(){
        	value += 10;
        }
        int getValue(){
        	return value;
        }
}
class Derived extends Base{
	Derived(){
		addValue();
	}
	void addValue(){
		value +=  20;
	}
}
public class Test{
	public static void main(String[] args){
		Base b = new Derived();
		System.out.println(b.getValue());
	}
}

36.
What will be the output?
class A{
	static void method(){
		System.out.println("Class A method");
	}
}
class B extends A{
	static void method(){
		System.out.println("Class B method");
	}
}
public class Test{
	public static void main(String args[]){
		A a = new B();
		a.method();
	}
}

38.
What will be the output?
class A{
      int i = 10;
      public void printValue(){
            System.out.print("Value-A");
      }
}

class B extends A{
      int i = 12;
      public void printValue(){
            System.out.print("Value-B");
      }
}

public class Test{
      public static void main(String args[]){
            A a = new B();
            a.printValue();
            System.out.print(a.i);
      }
}

39.
What is the output for the below code?
public class Test{
      public static void printValue(int i, int j, int k){
            System.out.println("int");
      }

      public static void printValue(byte...b){
            System.out.println("long");
      }

      public static void main(String... args){
            byte b = 9;
            printValue(b,b,b);
      }
}

40.
Determine output:
class A{
      public void printValue(){
            System.out.println("Value-A");
      }
}
class B extends A{
      public void printNameB(){
            System.out.println("Name-B");
      }
}
class C extends A{
      public void printNameC(){
            System.out.println("Name-C");
      }
}

public class Test{
      public static void main (String[] args){
            B b = new B();
            C c = new C();
            newPrint(b);
            newPrint(c);
      }
      public static void newPrint(A a){
            a.printValue();
      }
 }