1.
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));
        }
}

2.
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();
        }
}

3.
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();
	}
}

4.
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));
      }
}

5.
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());
	}
}

6.
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();
	}
}

8.
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);
      }
}

9.
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);
      }
}

10.
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");
      }
}

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