Java Method Overloading Interview MCQ Questions and Answers

Study and learn Interview MCQ Questions and Answers on Java Method Overloading. Attend job interviews easily with these Multiple Choice Questions. You can print these Questions in default mode to conduct exams directly. You can download these MCQs in PDF format by Choosing Print Option first and Save as PDF option next using any Web Browser.

Go through Java Theory Notes on Method Overloading before reading these objective questions.



1) To successfully overload a method in Java, the return types must be ___.
A) Same
B) Different
C) Same but using superclass or subclass types also work
D) None
Answer [=]
C
2) To successfully overload a method in Java, the argument-list or parameter-list must be ___.
A) Same
B) Different
C) -
D) -
Answer [=]
B
3) What is the output of the below Java program with multiple methods?
public class MethodOverloading1
{
  void show(int a, char b)
  {
    System.out.println("KING KONG");
  }

  void show(char a, int b)
  {
    System.out.println("JIM JAM");
  }
	
  public static void main(String[] args)
  {
    MethodOverloading1 m = new MethodOverloading1();
    m.show(10, 'A');
    m.show('B', 10);
  }
}
A)
JIM JAM
JIM JAM
B)
KING KONG
KING KONG
C)
KING KONG
JIM JAM
D) compiler error
Answer [=]
C
Explanation:

Method signatures are clearly different. So both methods work.

4) To successfully overload a method in Java, the method names must be ___.
A) Same
B) Different
C) Same or different
D) None
Answer [=]
A
5) What is the output of the below Java program?
public class MethodOverloading2
{
  int info()
  {
    System.out.println("PLANE");
    return 0;
  }

  void info()
  {
    System.out.println("AIRPORT");
  }

  public static void main(String[] args)
  {
    MethodOverloading2 m = new MethodOverloading2();
    int a = m.info();
  }
}

A) PLANE
B) AIRPORT
C) Compiler error
D) None
Answer [=]
C
Explanation:

Both methods with the same name "info" do not overload successfully as the return types are different (void and int).

6) What is the output of the below Java program with method overloading?
class Wood{ }
class SubWood extends Wood{ }

public class MethodOverloading3
{
  Wood display(int a)
  {
    System.out.println("PINE");
    return new Wood();
  }
  SubWood display()
  {
    System.out.println("TEAK");
    return new SubWood();
  }

  public static void main(String[] args)
  {
    MethodOverloading3 m = new MethodOverloading3();
    m.display();
  }
}
A) PINE
B) TEAK
C) Compiler error
D) None
Answer [=]
B
Explanation:

Return types for the method display() are Wood and SubWood. As these types are of superclass-subclass, it is a valid method overloading.

7) What is the output of the below Java program trying to overload a method "jump"?
class Rabbit{ }
class WildRabbit extends Rabbit{ }

public class MethodOverloading4
{
  Rabbit jump()
  {
    System.out.println("Rabbit Jump");
    return new Rabbit();
  }
  WildRabbit jump()
  {
    System.out.println("Wild Rabbit Jump");
    return new WildRabbit();
  }

  public static void main(String[] args)
  {
    MethodOverloading4 obj = new MethodOverloading4();
    obj.jump();
  }
}
A) Rabbit Jump
B) Wild Rabbit Jump
C) Compiler error
D) None
Answer [=]
C
Explanation:

The above program does not overload the method jump() properly as the argument list is not distinct. So the compiler reports "duplicate method error".



8) Java method overloading implements the OOPS concept ___.
A) Inheritance
B) Polymorphism
C) Encapsulation
D) None
Answer [=]
B
9) Which is the overloaded static method of Math class to get absolute value in Java?
A) Math.abs(int)
B) Math.abs(float)
C) Math.abs(double)
D) All the above
Answer [=]
D
Explanation:

Notice that static methods can be overloaded in Java without any compiler error. So, Math.abs() works out of the box with different type arguments.

10) What is the output of the below Java program that tries to overload a method "abs"?
public class MyAbs
{
  static int abs(int a)
  {
    return a<0?-a:a;
  }
  static float abs(float b)
  {
    return b<0?-b:b;
  }
  static double abs(double c)
  {
    return c<0?-c:c;
  }
  public static void main(String[] args)
  {
    int a=-10;
    float b=-4.56f;
    double c=-10.123;
    System.out.println(MyAbs.abs(a) + ", " + MyAbs.abs(b) + ", " + MyAbs.abs(c));
  }
}
A) No output
B) Compiler error
C) 10, 4.56, 10.123
D) -10, -4.56, -10.123
Answer [=]
C
Explanation:

The above program demonstrates the usage of Overloaded methods. "abs" function returns the absolute value of the input.