动态绑定
什么是动态绑定和静态绑定
动态绑定“在编译期间已经把对象和方法进行了绑定。 除此之外, 如果调用的方法要一依赖于对象的实际类型, 在运行时实现对象和方法的绑定
静态绑定:如果是private, static, final修饰的方法或者构造器, 那么编译器可以准确的知道应该调用哪个方法
首先我们要来了解一下编译时类型和运行时类型。
编译时类型是由声明该变量时使用的类型决定。
运行时类型由实际赋给该变量的对象决定。
如果编译型类型与运行时类型不一致的话,就会发生运行时动态绑定。
如:Person是Student的超类
在Person里有方法say()
public void say(){
System.out.print("我是个人");
}
在Student里有也方法say()
public void say(){