Skip to main content

Compile Time Polymorphism Example in Java

2 min read Updated May 29, 2026
Share:
On this page (9sections)

Introduction

Compile Time Polymorphism is a classic Java console program that demonstrates the concept with complete source code and sample output. Object-oriented programming models real entities with classes, objects, inheritance and polymorphism.

This tutorial walks through the program line by line, explains how the logic works, and highlights best practices you can apply in your own code.

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

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

When to use

Use OOP examples when modelling entities with state and behaviour in larger applications.

How it works

  1. Execution begins in the main method — the JVM calls this method when you run the class.

  2. A println / print call writes text to the console — part of the sample output below.

  3. A println / print call writes text to the console — part of the sample output below.

  4. A println / print call writes text to the console — part of the sample output below.

  5. ClassMain obj = new ClassMain(); updates a variable used in the calculation or output.

  6. result = obj.disp(5.1); updates a variable used in the calculation or output.

  7. A println / print call writes text to the console — part of the sample output below.

  8. Compare your console output with the sample output for Compile Time Polymorphism to confirm the program behaves correctly.

Best Practices

  • Use meaningful variable and class names that describe their purpose.
  • Compile and run the program locally — modify values to see how output changes.
  • Read compiler errors carefully; they usually point to the exact line to fix.

Common Mistakes

  • Copying code without understanding each line — practice by changing one statement at a time.
  • Mismatching the public class name and the .java filename.
  • Forgetting semicolons at the end of statements.

Frequently Asked Questions

What does the Compile Time Polymorphism program demonstrate?
It shows how to implement compile time polymorphism in Java with a complete runnable example and expected console output.
How do I run this Java program?
Save the code in a `.java` file matching the public class name, compile with `javac`, then run with `java ClassName`.
When would I use this pattern?
Use OOP examples when modelling entities with state and behaviour in larger applications.

Related Tutorials

Search tutorials