方法的重载和重写:
*
-
重载:不表现为多态性.
-
重写:表现为多态性.
-
从编译和运行角度看:
重载,是指允许多个同名方法,而这些方法的参数不同.编译器根据不同的参数表,对同名方法的名称做修饰,对于编译器而言,这些同名方法就成了不同的方法,它们的调用地址在编译器就绑定了.Java的重载是可以包括
父类和子类的,即子类可以重载父类的同名不同参数的方法.
所以:对于重载而言,在方法调用之前,编译器就已经确定了所要调用的方法,这称为"早绑定"或"动态绑定"而对于多态,只有等到方法调用的那一刻,解释运行器才会确定所要调用的具体方法,这称为"晚绑定"或"动态绑定"
-
不要犯傻,如果它不是晚绑定,它就不是多态.