• Dynamic Binding & Static Binding


    Reference: JavaPoint BeginnerBook

    What is Binding

    Connecting a method call to the method body is known as binding.

    There are two types of binding

    1. static binding (also known as early binding): binding solved at compile time
    2. dynamic binding (also known as late binding): binding solved at runtime

    Static Binding

    The binding which can be resolved at compile time by compiler is known as static or early binding.
    All the static, private and final methods have always been bonded at compile-time .

    • Why binding of Static, final and private methods is always a static binding?
    • Compiler knows that all such methods cannot be overridden and will always be accessed by object of local class. Hence compiler doesn’t have any difficulty to determine object of class (local class for sure). That’s the reason binding for such methods is static.

    Dynamic Binding

    When compiler is not able to resolve the call/binding at compile time, such binding is known as Dynamic or late Binding.
    Overriding is a perfect example of dynamic binding as in overriding both parent and child classes have same method. Thus while calling the overridden method, the compiler gets confused between parent and child class method(since both the methods have same name).

    Key Points

    1. Static binding happens at compile-time while dynamic binding happens at runtime.
    2. Binding of private, static and final methods always happen at compile time since these methods cannot be overridden. Binding of overridden methods happen at runtime.
    3. Java uses static binding for overloaded methods and dynamic binding for overridden methods.
  • 相关阅读:
    做开发的童鞋应该都了解这几款软件
    给文件对比工具自定义快捷键的方法
    C/C++ 编程有哪些值得推荐的辅助工具
    如何用Beyond Compare修改对比文件颜色
    据说这些工具可以提高程序员的工作效率
    遇到Beyond Compare禁止编辑该怎么办
    BZOJ
    周三
    大总结
    周二上午
  • 原文地址:https://www.cnblogs.com/ireneyanglan/p/4951498.html
Copyright © 2020-2023  润新知