重写和重载都是java多态性的一种表现。
重写是必须是子类继承父类的方法才能重写,将父类的方法内容重新定义
1.必须发生在父类和子类之间
2. 并且父类与子类中的函数必须有完全相同的原型
3. 使用virtual声明之后能够产生多态(如果不适用virtual,那叫重定义)
4. 多态是在运行期间根据具体对象的类型决定函数调用。
重载是子类中方法名相同而参数列表不同的一组方法。
1.必须在同一个类中进行
2. 子类无法重载父类的函数,父类同名函数将被名称覆盖
3. 重载是在编译期间根据参数类型和个数决定函数调用
当子类和父类都存在相同的run()方法时,子类的run()覆盖了父类的run(),在代码运行的时候,总是会调用子类的run()。这样,我们就获得了继承的另一个好处:多态。
同一个行为具有多个不同表现形式或形态的能力就是多态,