what is the difference between static binding and dynamic binding in java? Posted on by Static binding Dynamic binding Static binding in Java occurs during compile time. private, final and static methods and variables use static binding and are bonded by compiler Must not have any explicit return type. Static binding uses Type information i.e. class in Java, for binding. Overloaded methods are bonded using static binding Dynamic binding occurs during runtime. virtual methods are bonded during runtime based upon runtime object. dynamic binding uses object to resolve binding. overridden methods are bonded using dynamic binding at runtime.