1111

解决方案 »

  1.   

    动态邦定 又叫后期绑定 也叫运行时绑定
    简单的说 就是在编译的时候不知道具体调用的是哪个方法(是父类的还是子类的,因为继承有个方法重写的问题)而静态绑定,就是前期绑定,也叫编译期绑定
    编译的时候,已经确切知道调用的是哪个类的哪个方法java默认的是后期绑定,不加特殊的修饰关键字,所有的方法子类都是可以重写的更具体 更确切的解释 可以参考 《java编程思想》 或 《java核心技术》
      

  2.   

    本人刚学Java,也在思考动态绑定的问题?不太确定动态绑定与多态(或者说方法重载)之间的关系。请问多态的问题就是动态绑定的问题吗????
    我觉得大致了解了一点动态绑定,(本人看的是Java核心技术)。觉得二楼回答的挺准备的(只是觉得,但还有疑问)。
    先说一下自己的理解,有错误的恳请各位纠正。动态绑定是编译时在父类和子父之间根据方法签名选择哪一种方法。而多态的方法选择是根据参数的不同来选择不同的方法(不限于父类子类,但不确定是否仅在一个类中的不同方法叫重载)。有一种情况下是多态,而不是动态绑定,就是构造函数中的方法重载。【这么说是因为Java核心技术说如果方法是private、static、final或者是构造器时,编译器将可以准备地知道应该调用哪个方法,这种调用方式就是静态绑定。
    求证,先谢谢各位了!