重载和重写的概念我了解,但是为啥方法的重载体现了编译的多态性,方法的重写体现了运行的多态性?
我是新人,还没有C币,真心求解,谢谢各位~
行为重载方法之间是本质上是不同的方法声明,在编译时就可以确定具体是那个类的哪个方法。而重写的方法本质上有相同的方法声明,表象无法区分是谁的方法,只有到了运行时才能确定具体的类型(是父类,还是某个实现子类),才能确定具体调用的是哪个类的方法。
不知道你是否清楚了重载和重写的用法和用途,重载是同名函数,不同参数,重写是子类可以重写父类方法,运行期,根据具体实例对象,去执行相应的对象的方法,一个父类对象,可能实际是子类对象,所以运行时,实际会执行子类的的重写的方法