[Thinking in Java] - No.2 Java中的静态(前期)绑定和动态(后期)绑定
2017-03-05 10:55
363 查看
首先,我们先理解一个概念:什么叫绑定。简单地说,就是将一个方法调用同一个方法主体关联起来,就称作是绑定。在Java中,有两种绑定方式,分别称为静态绑定和动态绑定。
1.静态绑定:又称为前期绑定。在程序执行前由编译器和连接程序实现,调用开销较小,如C语言只有前期绑定这种方法调用。Java中static,private,final属于这类范畴。
static方法:static方法可以被子类继承,被隐藏,但是不能被子类覆盖。所以说,该方法就和父类绑定了,就是父类中定义的哪个方法。
final方法:和static类似,final方法可以被继承不能覆盖。
private方法:由于private的方法不能被继承,所以也就没有覆盖这一说。private方法也就和原类绑定,不能用于其子类。
2.动态绑定:又称为后期绑定,也叫作运行时绑定。如果一种语言想实现后期绑定,就必须具备某种机制,以便在运行时能判断对象的类型,从而调用恰当的方法。也就是说,编译器一直不知道对象的类型,但是方法调用机制能找到正确的方法体,并加以调用。
1.静态绑定:又称为前期绑定。在程序执行前由编译器和连接程序实现,调用开销较小,如C语言只有前期绑定这种方法调用。Java中static,private,final属于这类范畴。
static方法:static方法可以被子类继承,被隐藏,但是不能被子类覆盖。所以说,该方法就和父类绑定了,就是父类中定义的哪个方法。
final方法:和static类似,final方法可以被继承不能覆盖。
private方法:由于private的方法不能被继承,所以也就没有覆盖这一说。private方法也就和原类绑定,不能用于其子类。
2.动态绑定:又称为后期绑定,也叫作运行时绑定。如果一种语言想实现后期绑定,就必须具备某种机制,以便在运行时能判断对象的类型,从而调用恰当的方法。也就是说,编译器一直不知道对象的类型,但是方法调用机制能找到正确的方法体,并加以调用。
相关文章推荐
- Java前期(静态)绑定和后期(动态)绑定
- Java前期(静态)绑定和后期(动态)绑定
- Java前期(静态)绑定和后期(动态)绑定
- java之编译时类型(前期绑定)和运行时类型 (后期绑定、动态绑定、运行时绑定)
- java学习之编译时类型(前期绑定)和运行时类型 (后期绑定、动态绑定、运行时绑定)
- java学习之编译时类型(前期绑定)和运行时类型 (后期绑定、动态绑定、运行时绑定)
- Thinking in Java 前期绑定&动态绑定
- Java动态(后期)绑定和overloading 向上转型
- [Think in java] 前期绑定和后期绑定(转)
- 理解java静态绑定和动态绑定
- Java动态(后期)绑定和overloading 向上转型
- 理解Java中的前期绑定和后期绑定
- Java程序绑定:动态与静态
- Java中的静态绑定和动态绑定详细介绍
- Java面向对象 多态动态绑定(非静态成员函数、成员变量、静态成员函数)
- java的动态绑定和静态绑定
- java的动态绑定与静态绑定
- java中的前期绑定和后期绑定
- Java的静态/动态绑定
- 复习java基础------>java的静态绑定和动态绑