Static polymorphism

Static polymorphism, also known as compile-time polymorphism, is a feature of Java in which the appropriate method to be executed is determined at the compile-time based on the number, types, and order of arguments passed to the method.

Java supports static polymorphism through method overloading. Method overloading is the ability to define multiple methods in a class with the same name but with different parameters. The method that is called is determined by the compiler at the compile-time based on the number and types of arguments passed to it.