Compile Time Polymorphism Example Java Program

Definition

Polymorphism is the provision of a single interface to entities of different types. Polymorphism can be distinguished by when the implementation is selected: statically (at compile time) or dynamically (at run time). This is known respectively as static dispatch and dynamic dispatch, and the corresponding forms of polymorphism are accordingly called static polymorphism and dynamic polymorphism. Static polymorphism executes faster, as there is no dynamic dispatch overhead, but requires additional compiler support. Further, static polymorphism allows greater static analysis, by compilers source code analysis tools, and human readers .

Compile Time Polymorphism Example Program

class ClassMain{
	void disp(int number){
		System.out.println ("method:" + number);
	}
	void disp(int number1, int number2){
		System.out.println ("method:" + number1 + "," + number2);
	}
	double disp(double number) {
		System.out.println("method:" + number);
		return num;
	}
}

class CompileTimePolymorphismDemo
{
   public static void main (String args [])
   {
       ClassMain obj = new ClassMain();
       double result;
       obj.disp(40);
       obj.disp(50, 30);
       result = obj.disp(5.1);
       System.out.println("Answer is:" + result);
   }
}

Sample Output

Output is:
method:40
method:50,30
method:5.1
Answer is:5.1