一般是多态的情况下,在编译阶段或者运行阶段找到正确的方法。
静态绑定是根据声明的变量类型,在编译的时候确定相关的调用方法,例如上篇转载的文章中的
Father s1 = new Son1();
就是声明了s1是Father类型的,静态绑定的话,会认为s1是Father类型的。调用的方法也就是相应的Father类型参数的方法。
静态绑定一般发生在重载的情况下。
如果是动态绑定的话,一般发生在重写的情况下,即子类继承了父类,以父类声明子类仍然调用子类的方法。
一般是多态的情况下,在编译阶段或者运行阶段找到正确的方法。
静态绑定是根据声明的变量类型,在编译的时候确定相关的调用方法,例如上篇转载的文章中的
Father s1 = new Son1();
就是声明了s1是Father类型的,静态绑定的话,会认为s1是Father类型的。调用的方法也就是相应的Father类型参数的方法。
静态绑定一般发生在重载的情况下。
如果是动态绑定的话,一般发生在重写的情况下,即子类继承了父类,以父类声明子类仍然调用子类的方法。